From f35608bf30d6c4be3360c56d2ec7b6bc94c33e7f Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Mon, 27 Oct 2014 18:58:51 +0100 Subject: [PATCH] initial dev version --- build_iso.sh | 64 + clean_build.sh | 33 + conf/bsdinstaller/build.conf | 35 + conf/buildtools/opnsense-build-defaults.conf | 49 + conf/buildtools/opnsense-build.conf | 7 + conf/copylist/copy.list | 756 +++++++ conf/env_ports/builder_required_ports | 10 + conf/kernel/opnsense_SMP.10 | 218 ++ conf/patchlist/patches.RELENG_10_0 | 67 + conf/ports/buildports | 109 + conf/ports/make.conf | 52 + conf/rmlist/remove.list.iso.10 | 852 ++++++++ conf/src/src.conf.10 | 90 + conf/src/src.conf.10.install | 85 + conf/src/src.conf.embedded.10 | 87 + conf/src/src.conf.embedded.10.install | 85 + freesbie2/COPYING | 28 + freesbie2/Makefile | 161 ++ freesbie2/README | 3 + freesbie2/conf/amd64/FREESBIE | 307 +++ freesbie2/conf/freesbie.defaults.conf | 132 ++ freesbie2/conf/i386/FREESBIE | 321 +++ freesbie2/conf/make.conf | 5 + freesbie2/conf/make.conf.minimal | 52 + freesbie2/conf/powerpc/FREESBIE | 142 ++ freesbie2/conf/rc.d/unionfs | 40 + freesbie2/conf/rc.d/uzip | 42 + freesbie2/extra/README | 59 + freesbie2/extra/adduser.sh | 69 + freesbie2/extra/adduser/homemfs.rc | 62 + freesbie2/extra/autologin.sh | 20 + freesbie2/extra/backup.sh | 26 + freesbie2/extra/backup/restorebackup.rc | 35 + freesbie2/extra/backup/restorebackup.sh | 166 ++ freesbie2/extra/backup/savebackup.sh | 143 ++ freesbie2/extra/buildmodules.sh | 35 + freesbie2/extra/comconsole.sh | 47 + freesbie2/extra/customroot.sh | 49 + freesbie2/extra/customroot/README | 9 + freesbie2/extra/customscripts.sh | 28 + freesbie2/extra/customscripts/README | 4 + freesbie2/extra/etcmfs.sh | 29 + freesbie2/extra/etcmfs/etcmfs.rc | 80 + freesbie2/extra/installports.sh | 75 + freesbie2/extra/l10n.sh | 19 + freesbie2/extra/l10n/l10n.rc | 229 ++ freesbie2/extra/mountdisks.sh | 31 + freesbie2/extra/mountdisks/mountdisks.sh | 160 ++ freesbie2/extra/mountdisks/mountdisksrc.sh | 27 + freesbie2/extra/pf.sh | 22 + freesbie2/extra/pf/pf_rules.sh | 45 + freesbie2/extra/rootmfs.sh | 24 + freesbie2/extra/rootmfs/rootmfs.rc | 62 + freesbie2/extra/sound.sh | 23 + freesbie2/extra/sound/snd_card_ids.txt | 16 + freesbie2/extra/sound/sound_detect.sh | 37 + freesbie2/extra/suid.sh | 24 + freesbie2/extra/swapfind.sh | 20 + freesbie2/extra/swapfind/swapfind.sh | 44 + freesbie2/extra/varmfs.sh | 30 + freesbie2/extra/varmfs/varmfs.rc | 66 + freesbie2/extra/xautostart.sh | 22 + freesbie2/extra/xautostart/xautostart.rc | 57 + freesbie2/extra/xconfig-probe.sh | 25 + .../extra/xconfig-probe/xconfig-probe.sh | 35 + freesbie2/extra/xconfig-probe/xkbdlayout.sh | 75 + freesbie2/extra/xconfig.sh | 26 + freesbie2/extra/xconfig/xconfig.sh | 73 + freesbie2/extra/xconfig/xkbdlayout.sh | 75 + freesbie2/pfSense_version | 0 freesbie2/scripts/buildkernel.sh | 113 + freesbie2/scripts/buildworld.sh | 62 + freesbie2/scripts/cleandir.sh | 36 + freesbie2/scripts/clonefs.sh | 219 ++ freesbie2/scripts/compressfs.sh | 123 ++ freesbie2/scripts/custom/README | 5 + freesbie2/scripts/extra.sh | 36 + freesbie2/scripts/flash.sh | 56 + freesbie2/scripts/img.sh | 71 + freesbie2/scripts/installkernel.sh | 66 + freesbie2/scripts/installworld.sh | 66 + freesbie2/scripts/iso.sh | 73 + freesbie2/scripts/launch.sh | 119 ++ freesbie2/scripts/pkginstall.sh | 202 ++ freesbie2/scripts/pkgnginstall.sh | 215 ++ freesbie2/scripts/pkgselect.sh | 219 ++ freesbie2/scripts/powerpc/iso.sh | 62 + installer/cleargpt.sh | 13 + installer/conf/FreeBSD-dist.lua | 152 ++ installer/conf/pfSense.lua | 95 + installer/conf/pfSense_rescue.lua | 98 + .../100_confirm_basic_install.lua | 25 + installer/easy_install/200_select_disk.lua | 75 + installer/easy_install/220_format_disk.lua | 100 + installer/easy_install/250_partition_disk.lua | 810 +++++++ installer/easy_install/300_select_part.lua | 105 + .../easy_install/400_select_subparts.lua | 357 ++++ .../easy_install/407_create_subparts.lua | 28 + .../easy_install/420_preselect_packages.lua | 33 + installer/easy_install/500_install_os.lua | 279 +++ installer/easy_install/597_install_kernel.lua | 65 + .../easy_install/598_install_bootblocks.lua | 81 + .../599_after_installation_tasks.lua | 34 + installer/easy_install/900_reboot.lua | 17 + installer/easy_install/main.lua | 11 + .../270_install_bootblocks.lua | 0 .../500_create_geom_mirror.lua | 152 ++ .../installer_root_dir/597_install_kernel.lua | 65 + .../598_install_bootblocks.lua | 163 ++ .../599_after_installation_tasks.lua | 37 + .../installer_root_dir7/150_easy_install.lua | 12 + installer/installer_root_dir7/200_install.lua | 30 + .../270_install_bootblocks.lua | 0 .../installer_root_dir7/300_rescueconfig.lua | 116 + .../500_create_geom_mirror.lua | 152 ++ .../597_install_kernel.lua | 65 + .../598_install_bootblocks.lua | 166 ++ .../599_after_installation_tasks.lua | 37 + installer/installer_root_dir7/950_reboot.lua | 20 + .../pools_arrays_geom/100_create_zfs_pool.lua | 105 + .../scripts/after_installation_routines.sh | 79 + installer/scripts/freebsd_installer | 124 ++ installer/scripts/lua_installer | 155 ++ installer/scripts/lua_installer_RELENG_1_2 | 151 ++ installer/scripts/lua_installer_full | 145 ++ installer/scripts/lua_installer_rescue | 146 ++ installer/scripts/pfi | 252 +++ modules/configure.sh | 126 ++ modules/error.sh | 21 + modules/fix_ports_install.sh | 8 + modules/freebsd_source.sh | 123 ++ modules/freesbie_build.sh | 564 +++++ modules/installer.sh | 64 + modules/software.sh | 221 ++ modules/staging_area.sh | 124 ++ .../RELENG_10_0/CP_multi_instance_ipfw.diff | 1298 ++++++++++++ patches/RELENG_10_0/CP_speedup.diff | 1074 ++++++++++ .../RELENG_10_0/IPSEC_sysctl.RELENG_10.diff | 497 +++++ patches/RELENG_10_0/altq_codel.diff | 1825 ++++++++++++++++ patches/RELENG_10_0/altq_max_queues.diff | 26 + patches/RELENG_10_0/beastie.4th.diff | 40 + patches/RELENG_10_0/binat.RELENG_10.diff | 134 ++ patches/RELENG_10_0/brand.4th.diff | 28 + patches/RELENG_10_0/carp_correct_mac.diff | 69 + patches/RELENG_10_0/carp_livelock_fixes.diff | 906 ++++++++ .../RELENG_10_0/carp_replay_protection.diff | 76 + patches/RELENG_10_0/clog.diff | 426 ++++ patches/RELENG_10_0/divert.RELENG_10.diff | 399 ++++ patches/RELENG_10_0/dscp.RELENG_10.diff | 230 ++ patches/RELENG_10_0/dummynet.RELENG_10.diff | 626 ++++++ patches/RELENG_10_0/fairq.RELENG_10.diff | 1876 +++++++++++++++++ .../get_tag_altq_ids.RELENG_10.diff | 69 + patches/RELENG_10_0/hfscconfig.RELENG_10.diff | 18 + patches/RELENG_10_0/if_bridge_gif_mtu.diff | 29 + patches/RELENG_10_0/if_ethersubr.c.diff | 13 + patches/RELENG_10_0/if_pfsync.diff | 112 + patches/RELENG_10_0/ifqueue_maxlen.diff | 13 + patches/RELENG_10_0/ip_carp.c.diff | 15 + patches/RELENG_10_0/ip_dstchng_fix.diff | 14 + .../RELENG_10_0/ipfw_dummynet_bandwidth.diff | 26 + patches/RELENG_10_0/ipsec_altq.RELENG_10.diff | 179 ++ patches/RELENG_10_0/ipsec_improvement.diff | 607 ++++++ .../RELENG_10_0/killifstates.RELENG_10.diff | 155 ++ patches/RELENG_10_0/lib386boot.diff | 15 + patches/RELENG_10_0/loader.conf.diff | 10 + patches/RELENG_10_0/makefile.inc1.diff | 11 + patches/RELENG_10_0/menu-commands.4th.diff | 13 + patches/RELENG_10_0/menu.4th.diff | 13 + .../RELENG_10_0/netisr_default_values.diff | 80 + patches/RELENG_10_0/netstat_ifname_size.diff | 40 + patches/RELENG_10_0/ng_eiface.RELENG_10.diff | 109 + .../RELENG_10_0/ng_ether_attach_command.diff | 68 + patches/RELENG_10_0/ng_iface.RELENG_10.diff | 115 + patches/RELENG_10_0/openssl_head.tgz | Bin 0 -> 4278142 bytes patches/RELENG_10_0/openssl_head.tgz.desc | 8 + patches/RELENG_10_0/pam_remove_nullok.diff | 23 + patches/RELENG_10_0/pf_802.1p.diff | 762 +++++++ patches/RELENG_10_0/pf_match.diff | 352 ++++ patches/RELENG_10_0/pf_print_state_queue.diff | 15 + ...pf_route_to_daemon_friendly.RELENG_10.diff | 31 + patches/RELENG_10_0/pf_static_tracker.diff | 293 +++ patches/RELENG_10_0/pf_stickies_fix2.diff | 25 + patches/RELENG_10_0/pf_tags_alloc.diff | 36 + patches/RELENG_10_0/pfaltq_interface_bw.diff | 32 + patches/RELENG_10_0/pfil.RELENG_10.diff | 319 +++ .../pfvar_addr_compare.RELENG_10.diff | 31 + patches/RELENG_10_0/reply-to.RELENG_10.diff | 147 ++ patches/RELENG_10_0/route-to_without_gw.diff | 75 + patches/RELENG_10_0/route.diff | 20 + .../RELENG_10_0/schedule_label.RELENG_10.diff | 284 +++ patches/RELENG_10_0/scrub_FIN+SYN_drop.diff | 13 + patches/RELENG_10_0/set_ifaddr_first.diff | 86 + patches/RELENG_10_0/sfxge_compile_i386.diff | 13 + patches/RELENG_10_0/stf_6rd.diff | 1444 +++++++++++++ patches/RELENG_10_0/syslogd.c.diff | 283 +++ patches/RELENG_10_0/tun_optimization.diff | 195 ++ .../RELENG_10_0/udp_SO_REUSEADDR+PORT.diff | 111 + .../wpa_correct_mac_address.RELENG_10.diff | 12 + source/bsd_installer.tar.gz | Bin 0 -> 2019619 bytes source/bsd_installer.tar.gz.desc | 3 + 200 files changed, 29446 insertions(+) create mode 100755 build_iso.sh create mode 100755 clean_build.sh create mode 100644 conf/bsdinstaller/build.conf create mode 100755 conf/buildtools/opnsense-build-defaults.conf create mode 100755 conf/buildtools/opnsense-build.conf create mode 100755 conf/copylist/copy.list create mode 100644 conf/env_ports/builder_required_ports create mode 100755 conf/kernel/opnsense_SMP.10 create mode 100644 conf/patchlist/patches.RELENG_10_0 create mode 100644 conf/ports/buildports create mode 100644 conf/ports/make.conf create mode 100755 conf/rmlist/remove.list.iso.10 create mode 100644 conf/src/src.conf.10 create mode 100644 conf/src/src.conf.10.install create mode 100644 conf/src/src.conf.embedded.10 create mode 100644 conf/src/src.conf.embedded.10.install create mode 100755 freesbie2/COPYING create mode 100755 freesbie2/Makefile create mode 100755 freesbie2/README create mode 100755 freesbie2/conf/amd64/FREESBIE create mode 100755 freesbie2/conf/freesbie.defaults.conf create mode 100755 freesbie2/conf/i386/FREESBIE create mode 100755 freesbie2/conf/make.conf create mode 100755 freesbie2/conf/make.conf.minimal create mode 100755 freesbie2/conf/powerpc/FREESBIE create mode 100755 freesbie2/conf/rc.d/unionfs create mode 100755 freesbie2/conf/rc.d/uzip create mode 100755 freesbie2/extra/README create mode 100755 freesbie2/extra/adduser.sh create mode 100755 freesbie2/extra/adduser/homemfs.rc create mode 100755 freesbie2/extra/autologin.sh create mode 100755 freesbie2/extra/backup.sh create mode 100755 freesbie2/extra/backup/restorebackup.rc create mode 100755 freesbie2/extra/backup/restorebackup.sh create mode 100755 freesbie2/extra/backup/savebackup.sh create mode 100755 freesbie2/extra/buildmodules.sh create mode 100755 freesbie2/extra/comconsole.sh create mode 100755 freesbie2/extra/customroot.sh create mode 100755 freesbie2/extra/customroot/README create mode 100755 freesbie2/extra/customscripts.sh create mode 100755 freesbie2/extra/customscripts/README create mode 100755 freesbie2/extra/etcmfs.sh create mode 100755 freesbie2/extra/etcmfs/etcmfs.rc create mode 100755 freesbie2/extra/installports.sh create mode 100755 freesbie2/extra/l10n.sh create mode 100755 freesbie2/extra/l10n/l10n.rc create mode 100755 freesbie2/extra/mountdisks.sh create mode 100755 freesbie2/extra/mountdisks/mountdisks.sh create mode 100755 freesbie2/extra/mountdisks/mountdisksrc.sh create mode 100755 freesbie2/extra/pf.sh create mode 100755 freesbie2/extra/pf/pf_rules.sh create mode 100755 freesbie2/extra/rootmfs.sh create mode 100755 freesbie2/extra/rootmfs/rootmfs.rc create mode 100755 freesbie2/extra/sound.sh create mode 100755 freesbie2/extra/sound/snd_card_ids.txt create mode 100755 freesbie2/extra/sound/sound_detect.sh create mode 100755 freesbie2/extra/suid.sh create mode 100755 freesbie2/extra/swapfind.sh create mode 100755 freesbie2/extra/swapfind/swapfind.sh create mode 100755 freesbie2/extra/varmfs.sh create mode 100755 freesbie2/extra/varmfs/varmfs.rc create mode 100755 freesbie2/extra/xautostart.sh create mode 100755 freesbie2/extra/xautostart/xautostart.rc create mode 100755 freesbie2/extra/xconfig-probe.sh create mode 100755 freesbie2/extra/xconfig-probe/xconfig-probe.sh create mode 100755 freesbie2/extra/xconfig-probe/xkbdlayout.sh create mode 100755 freesbie2/extra/xconfig.sh create mode 100755 freesbie2/extra/xconfig/xconfig.sh create mode 100755 freesbie2/extra/xconfig/xkbdlayout.sh create mode 100755 freesbie2/pfSense_version create mode 100755 freesbie2/scripts/buildkernel.sh create mode 100755 freesbie2/scripts/buildworld.sh create mode 100755 freesbie2/scripts/cleandir.sh create mode 100755 freesbie2/scripts/clonefs.sh create mode 100755 freesbie2/scripts/compressfs.sh create mode 100755 freesbie2/scripts/custom/README create mode 100755 freesbie2/scripts/extra.sh create mode 100755 freesbie2/scripts/flash.sh create mode 100755 freesbie2/scripts/img.sh create mode 100755 freesbie2/scripts/installkernel.sh create mode 100755 freesbie2/scripts/installworld.sh create mode 100755 freesbie2/scripts/iso.sh create mode 100755 freesbie2/scripts/launch.sh create mode 100755 freesbie2/scripts/pkginstall.sh create mode 100755 freesbie2/scripts/pkgnginstall.sh create mode 100755 freesbie2/scripts/pkgselect.sh create mode 100755 freesbie2/scripts/powerpc/iso.sh create mode 100644 installer/cleargpt.sh create mode 100644 installer/conf/FreeBSD-dist.lua create mode 100644 installer/conf/pfSense.lua create mode 100644 installer/conf/pfSense_rescue.lua create mode 100644 installer/easy_install/100_confirm_basic_install.lua create mode 100644 installer/easy_install/200_select_disk.lua create mode 100644 installer/easy_install/220_format_disk.lua create mode 100644 installer/easy_install/250_partition_disk.lua create mode 100644 installer/easy_install/300_select_part.lua create mode 100644 installer/easy_install/400_select_subparts.lua create mode 100644 installer/easy_install/407_create_subparts.lua create mode 100644 installer/easy_install/420_preselect_packages.lua create mode 100644 installer/easy_install/500_install_os.lua create mode 100644 installer/easy_install/597_install_kernel.lua create mode 100644 installer/easy_install/598_install_bootblocks.lua create mode 100644 installer/easy_install/599_after_installation_tasks.lua create mode 100644 installer/easy_install/900_reboot.lua create mode 100644 installer/easy_install/main.lua create mode 100755 installer/installer_root_dir/270_install_bootblocks.lua create mode 100644 installer/installer_root_dir/500_create_geom_mirror.lua create mode 100644 installer/installer_root_dir/597_install_kernel.lua create mode 100644 installer/installer_root_dir/598_install_bootblocks.lua create mode 100644 installer/installer_root_dir/599_after_installation_tasks.lua create mode 100644 installer/installer_root_dir7/150_easy_install.lua create mode 100644 installer/installer_root_dir7/200_install.lua create mode 100644 installer/installer_root_dir7/270_install_bootblocks.lua create mode 100644 installer/installer_root_dir7/300_rescueconfig.lua create mode 100644 installer/installer_root_dir7/500_create_geom_mirror.lua create mode 100644 installer/installer_root_dir7/597_install_kernel.lua create mode 100644 installer/installer_root_dir7/598_install_bootblocks.lua create mode 100644 installer/installer_root_dir7/599_after_installation_tasks.lua create mode 100644 installer/installer_root_dir7/950_reboot.lua create mode 100644 installer/pools_arrays_geom/100_create_zfs_pool.lua create mode 100755 installer/scripts/after_installation_routines.sh create mode 100644 installer/scripts/freebsd_installer create mode 100644 installer/scripts/lua_installer create mode 100644 installer/scripts/lua_installer_RELENG_1_2 create mode 100644 installer/scripts/lua_installer_full create mode 100644 installer/scripts/lua_installer_rescue create mode 100755 installer/scripts/pfi create mode 100644 modules/configure.sh create mode 100644 modules/error.sh create mode 100755 modules/fix_ports_install.sh create mode 100644 modules/freebsd_source.sh create mode 100644 modules/freesbie_build.sh create mode 100644 modules/installer.sh create mode 100644 modules/software.sh create mode 100644 modules/staging_area.sh create mode 100644 patches/RELENG_10_0/CP_multi_instance_ipfw.diff create mode 100644 patches/RELENG_10_0/CP_speedup.diff create mode 100644 patches/RELENG_10_0/IPSEC_sysctl.RELENG_10.diff create mode 100644 patches/RELENG_10_0/altq_codel.diff create mode 100644 patches/RELENG_10_0/altq_max_queues.diff create mode 100644 patches/RELENG_10_0/beastie.4th.diff create mode 100644 patches/RELENG_10_0/binat.RELENG_10.diff create mode 100644 patches/RELENG_10_0/brand.4th.diff create mode 100644 patches/RELENG_10_0/carp_correct_mac.diff create mode 100644 patches/RELENG_10_0/carp_livelock_fixes.diff create mode 100644 patches/RELENG_10_0/carp_replay_protection.diff create mode 100644 patches/RELENG_10_0/clog.diff create mode 100644 patches/RELENG_10_0/divert.RELENG_10.diff create mode 100644 patches/RELENG_10_0/dscp.RELENG_10.diff create mode 100644 patches/RELENG_10_0/dummynet.RELENG_10.diff create mode 100644 patches/RELENG_10_0/fairq.RELENG_10.diff create mode 100644 patches/RELENG_10_0/get_tag_altq_ids.RELENG_10.diff create mode 100644 patches/RELENG_10_0/hfscconfig.RELENG_10.diff create mode 100644 patches/RELENG_10_0/if_bridge_gif_mtu.diff create mode 100644 patches/RELENG_10_0/if_ethersubr.c.diff create mode 100644 patches/RELENG_10_0/if_pfsync.diff create mode 100644 patches/RELENG_10_0/ifqueue_maxlen.diff create mode 100644 patches/RELENG_10_0/ip_carp.c.diff create mode 100644 patches/RELENG_10_0/ip_dstchng_fix.diff create mode 100644 patches/RELENG_10_0/ipfw_dummynet_bandwidth.diff create mode 100644 patches/RELENG_10_0/ipsec_altq.RELENG_10.diff create mode 100644 patches/RELENG_10_0/ipsec_improvement.diff create mode 100644 patches/RELENG_10_0/killifstates.RELENG_10.diff create mode 100644 patches/RELENG_10_0/lib386boot.diff create mode 100644 patches/RELENG_10_0/loader.conf.diff create mode 100644 patches/RELENG_10_0/makefile.inc1.diff create mode 100644 patches/RELENG_10_0/menu-commands.4th.diff create mode 100644 patches/RELENG_10_0/menu.4th.diff create mode 100644 patches/RELENG_10_0/netisr_default_values.diff create mode 100644 patches/RELENG_10_0/netstat_ifname_size.diff create mode 100644 patches/RELENG_10_0/ng_eiface.RELENG_10.diff create mode 100644 patches/RELENG_10_0/ng_ether_attach_command.diff create mode 100644 patches/RELENG_10_0/ng_iface.RELENG_10.diff create mode 100644 patches/RELENG_10_0/openssl_head.tgz create mode 100644 patches/RELENG_10_0/openssl_head.tgz.desc create mode 100644 patches/RELENG_10_0/pam_remove_nullok.diff create mode 100644 patches/RELENG_10_0/pf_802.1p.diff create mode 100644 patches/RELENG_10_0/pf_match.diff create mode 100644 patches/RELENG_10_0/pf_print_state_queue.diff create mode 100644 patches/RELENG_10_0/pf_route_to_daemon_friendly.RELENG_10.diff create mode 100644 patches/RELENG_10_0/pf_static_tracker.diff create mode 100644 patches/RELENG_10_0/pf_stickies_fix2.diff create mode 100644 patches/RELENG_10_0/pf_tags_alloc.diff create mode 100644 patches/RELENG_10_0/pfaltq_interface_bw.diff create mode 100644 patches/RELENG_10_0/pfil.RELENG_10.diff create mode 100644 patches/RELENG_10_0/pfvar_addr_compare.RELENG_10.diff create mode 100644 patches/RELENG_10_0/reply-to.RELENG_10.diff create mode 100644 patches/RELENG_10_0/route-to_without_gw.diff create mode 100644 patches/RELENG_10_0/route.diff create mode 100644 patches/RELENG_10_0/schedule_label.RELENG_10.diff create mode 100644 patches/RELENG_10_0/scrub_FIN+SYN_drop.diff create mode 100644 patches/RELENG_10_0/set_ifaddr_first.diff create mode 100644 patches/RELENG_10_0/sfxge_compile_i386.diff create mode 100644 patches/RELENG_10_0/stf_6rd.diff create mode 100644 patches/RELENG_10_0/syslogd.c.diff create mode 100644 patches/RELENG_10_0/tun_optimization.diff create mode 100644 patches/RELENG_10_0/udp_SO_REUSEADDR+PORT.diff create mode 100644 patches/RELENG_10_0/wpa_correct_mac_address.RELENG_10.diff create mode 100644 source/bsd_installer.tar.gz create mode 100644 source/bsd_installer.tar.gz.desc diff --git a/build_iso.sh b/build_iso.sh new file mode 100755 index 0000000..85e37e2 --- /dev/null +++ b/build_iso.sh @@ -0,0 +1,64 @@ +#!/bin/sh + +# import settings +. conf/buildtools/opnsense-build.conf +. conf/buildtools/opnsense-build-defaults.conf + +# import modules +for module in `ls modules/*.sh` +do + . $module +done + +( + echo "[`date`] start ( $ARCH )" + + # setup/configure build environment ( modules/configure.sh ) + # installs ports from conf/env_ports/builder_required_ports to local system + run_configure + + # setup required software and packages ( modules/software.sh ) + # - deploy custom / opnsense ports to local system ( ../opnsense-ports/deploy.sh ) + # - build all required ports for opnsense ( conf/ports/buildports ) + # retry 4 times if necessary ( fix dependancy issues ) + for i in 1 2 3 4 + do + setup_software + error_cnt=`print_missing_ports | grep "build failed" | wc -l` + if [ "$error_cnt" -eq "0" ]; then + break + else + echo ">>> retry build ports ($i)" + fi + done + + # during our install we've seemed to miss some files from ports, copy manually to right location + # todo: check and remove fixes + fix_ports_install + + # checkout / prepare freebsd sources ( one time only ) + if [ ! -d $SRCDIR ]; then + run_freebsd_source + fi + + # setup staging area ($CUSTOMROOT) + setup_staging_area + + # build environment ( compile freebsd + kernels ) + run_freesbie_build + + # setup installer + setup_installer + + # build iso file + freesbie_build_iso + + # list missing opnSense ports + echo ">>> List missing opnsense ports " + print_missing_ports + + echo "[`date`] done " +) | tee $BUILDER_LOGS/build_iso.log + +echo "log : $BUILDER_LOGS/build_iso.log" + diff --git a/clean_build.sh b/clean_build.sh new file mode 100755 index 0000000..c1f0a9f --- /dev/null +++ b/clean_build.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +# import settings +. conf/buildtools/opnsense-build.conf +. conf/buildtools/opnsense-build-defaults.conf + +# import modules +for module in `ls modules/*.sh` +do + . $module +done + +echo "cleanup all opnSense files" + +if [ -d $OPNSENSEBASEDIR ]; then + echo "remove $OPNSENSEBASEDIR" + chflags -R noschg $OPNSENSEBASEDIR + rm -rf $OPNSENSEBASEDIR +fi + +if [ -d $CLONEDIR ]; then + echo "remove $CLONEDIR" + chflags -R noschg $CLONEDIR + rm -rf $CLONEDIR +fi + +if [ -d $SRCDIR ]; then + echo "remove $SRCDIR" + chflags -R noschg $SRCDIR + rm -rf $SRCDIR +fi + + diff --git a/conf/bsdinstaller/build.conf b/conf/bsdinstaller/build.conf new file mode 100644 index 0000000..f1f6e6d --- /dev/null +++ b/conf/bsdinstaller/build.conf @@ -0,0 +1,35 @@ +# $Id$ + +# Defaults settings for the build scripts. +# NOTE: There should be NO NEED to edit this file directly! +# Instead, create a file build.conf with your own overrides. + +export FREEBSD_VERSION=10 +export CVSDIR=${CVSDIR:-/work} # local cvs checkout dir +export CVSMODULE=${CVSMODULE:-installer} # cvs module name + +export TMPDIR=${TMPDIR:-/tmp} # dir for temp files +export NRELEASEDIR=${NRELEASEDIR:-/usr/src/nrelease} # where 'nrelease' lives +export PORTSDIR=${PORTSDIR:-/usr/ports} # system ports dir +export DISTFILESDIR=${DISTFILESDIR:-${PORTSDIR}/distfiles} # distfiles dir +export PACKAGESDIR=${PACKAGESDIR:-${PORTSDIR}/packages/All} # pkgs dir +export ISOROOT=${ISOROOT:-/usr/release/root} # root of ISO-to-be tree +export PORTS_FLAGS=${PORTS_FLAGS:-} # additional flags/vars + +export REMOVEOLDPKGS=${REMOVEOLDPKGS:-YES} # Remove old non-RELEASEBUILD +export REMOVEOLDDISTFILES=${REMOVEOLDDISTFILES:-YES} # pkgs/dstfls when making new +export RELEASEBUILD=${RELEASEBUILD:-NO} # NO = tack date on pkg vers +export ROOTSKEL=${ROOTSKEL:-${NRELEASEDIR}/installer} # default installer skeleton +export EXTRA_ROOTSKELS=${EXTRA_ROOTSKELS:-} # extra root skeletons + +export INSTALL_DFUIFE_QT=${INSTALL_DFUIFE_QT:-NO} # build & install Qt frontend +export INSTALL_DFUIBE_LUA=${INSTALL_DFUIBE_LUA:-YES} # build & install Lua backend +export INSTALL_DFUIBE_INSTALLER=${INSTALL_DFUIBE_INSTALLER:-NO} # ditto C backend + +export WITH_NLS=NO # build pkgs with i18n +export WITH_X11=${WITH_X11:-NO} # build X11 support pkgs +export WITH_DEBUG_INFO=${WITH_DEBUG_INFO:-NO} # leave debug info in binaries +export WITH_DEBUG=${WITH_DEBUG:-NO} # build debug-enabled pkgs + +export ONE_BIG_PKG=${ONE_BIG_PKG:-YES} # build & install one big pkg? + diff --git a/conf/buildtools/opnsense-build-defaults.conf b/conf/buildtools/opnsense-build-defaults.conf new file mode 100755 index 0000000..759888f --- /dev/null +++ b/conf/buildtools/opnsense-build-defaults.conf @@ -0,0 +1,49 @@ +# architecture selection, crossbuilding not supported +export ARCH=`uname -m` + +# tools location +export BUILD_HOME=${BUILD_HOME:-`pwd`} +export OPNSENSE_PORTS=${OPNSENSE_PORTS:-`pwd`/../opnsense-ports} +export CUSTOMROOT=${CUSTOMROOT:-$BUILD_HOME/work/opnSense} +export CLONEDIR=${OPNSENSEISODIR:-/usr/local/opnsense-clone} + +# pcbsd +export PCBSD_PATH=${PCBSD_PATH:-$BUILD_HOME/work/pcbsd} +export PCBSD_REPO=${PCBSD_REPO:-https://github.com/pcbsd/pcbsd.git} +export PCBSD_BRANCH=${PCBSD_BRANCH:-master} + +# temp directory +export BUILD_TMP=${BUILD_TMP:-/tmp/opnsense} + +# Product settings +export PRODUCT_NAME=${PRODUCT_NAME:-opnSense} + +# general build settings +export OPNSENSEBASEDIR=${OPNSENSEBASEDIR:-/usr/local/opnsense-fs} +export FREESBIE_PATH=${FREESBIE_PATH:-`pwd`/freesbie2} + +# KERNEL/Build settings use by freesbie2 +export CPUS=${CPUS:-`sysctl kern.smp.cpus | cut -d' ' -f2`} +export SRCDIR=${SRCDIR:-/usr/opnsensesrc/src} +export SRC_CONF=${SRC_CONF:-"`pwd`/conf/src/src.conf.$FREEBSD_VERSION"} +export SRC_CONF_INSTALL=${SRC_CONF_INSTALL:-"`pwd`/conf/src/src.conf.$FREEBSD_VERSION.install"} +export KERNEL_BUILD_PATH=${KERNEL_BUILD_PATH:-"/tmp/kernels"} +export BUILD_KERNELS=${BUILD_KERNELS:-"opnsense_SMP.${FREEBSD_VERSION} "} +export DEFAULT_KERNEL=${DEFAULT_KERNEL:-"opnsense_SMP.${FREEBSD_VERSION}"} + +export MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX:-/usr/obj.${PRODUCT_NAME}} +export MAKEJ_WORLD=${MAKEJ_WORLD:-"-j$CPUS"} +export MAKEJ_PORTS=${MAKEJ_PORTS:-""} +export CFLAGS=${CFLAGS:-""} + +# export variables used by freesbie2 +export FREESBIE_CONF=${FREESBIE_CONF:-/dev/null} # No configuration file should be override our variables +export BASEDIR=${OPNSENSEBASEDIR:-/usr/local/opnsense-fs} +export CLONEDIR=${OPNSENSEISODIR:-/usr/local/opnsense-clone} +export FREESBIE_LABEL=${FREESBIE_LABEL:-${PRODUCT_NAME}} +export EXTRAPLUGINS=${EXTRAPLUGINS:-"customroot customscripts pkgnginstall"} +export PRUNE_LIST=${PRUNE_LIST:-"`pwd`/conf/rmlist/remove.list.iso.${FREEBSD_VERSION}"} + +# logging +export BUILDER_LOGS=${BUILDER_LOGS:-`pwd`/logs} + diff --git a/conf/buildtools/opnsense-build.conf b/conf/buildtools/opnsense-build.conf new file mode 100755 index 0000000..1e9e445 --- /dev/null +++ b/conf/buildtools/opnsense-build.conf @@ -0,0 +1,7 @@ +# +export FREEBSD_REPO_BASE=https://github.com/freebsd/freebsd.git +export SVN_BRANCH=releng/10.1 +export OSPATCHFILE=`pwd`/conf/patchlist/patches.RELENG_10_0 +export OSPATCHDIR=`pwd`/patches/RELENG_10_0 +export FREEBSD_VERSION=10 + diff --git a/conf/copylist/copy.list b/conf/copylist/copy.list new file mode 100755 index 0000000..c41314c --- /dev/null +++ b/conf/copylist/copy.list @@ -0,0 +1,756 @@ +usr/local/sbin/clog +usr/local/bin/rate +usr/local/sbin/apinger +usr/local/sbin/syslog-ng +usr/local/sbin/radvd +usr/local/sbin/slbd.sh +usr/local/bin/athstats +usr/local/bin/beep +usr/local/bin/cpdup +usr/local/bin/gogoc +usr/local/bin/minicron +usr/local/bin/voucher +usr/local/bin/verifysig +usr/local/bin/lua50 +usr/local/bin/links +usr/local/bin/php +usr/local/sbin/php-fpm +usr/local/bin/php-cgi +usr/local/bin/radns +usr/local/bin/rrdtool +usr/local/bin/sqlite3 +usr/local/bin/zmq_forwarder +usr/local/bin/zmq_streamer +usr/local/bin/zmq_queue +usr/local/sbin/expiretable +usr/local/sbin/dhclient +usr/local/sbin/dhcpleases +usr/local/sbin/dhcpleases6 +usr/local/sbin/bpalogin +usr/local/sbin/choparp +usr/local/sbin/dhcpd +usr/local/sbin/pfSctl +usr/local/sbin/dhcrelay +usr/local/sbin/dhcp6c +usr/local/sbin/dnsmasq +usr/local/sbin/igmpproxy +usr/local/sbin/gzsig +usr/local/sbin/filterdns +usr/local/sbin/filterlog +usr/local/sbin/lighttpd +usr/local/sbin/ssh_tunnel_shell +usr/local/sbin/miniupnpd +usr/local/sbin/mpd4 +usr/local/sbin/mpd5 +usr/local/sbin/openvpn +usr/local/sbin/pftop +usr/local/sbin/haproxy +usr/local/sbin/relayctl +usr/local/sbin/relayd +usr/local/sbin/ipfw-classifyd +usr/local/sbin/sshlockout_pf +usr/local/sbin/wrapresetbtn +usr/local/sbin/alixresetbtn +usr/local/sbin/qstats +usr/local/lib/lighttpd/mod_auth.so +usr/local/lib/lighttpd/mod_proxy.so +usr/local/lib/lighttpd/mod_access.so +usr/local/lib/lighttpd/mod_accesslog.so +usr/local/lib/lighttpd/mod_fastcgi.so +usr/local/lib/lighttpd/mod_cgi.so +usr/local/lib/lighttpd/mod_indexfile.so +usr/local/lib/lighttpd/mod_dirlisting.so +usr/local/lib/lighttpd/mod_staticfile.so +usr/local/lib/lighttpd/mod_expire.so +usr/local/lib/lighttpd/mod_compress.so +usr/local/lib/lighttpd/mod_rewrite.so +usr/local/lib/lighttpd/mod_redirect.so +usr/local/lib/lighttpd/mod_evasive.so +usr/local/lib/php/20121212/apc.so +usr/local/lib/php/20121212/pcre.so +usr/local/lib/php/20121212/bz2.so +usr/local/lib/php/20121212/bcmath.so +usr/local/lib/php/20121212/ctype.so +usr/local/lib/php/20121212/curl.so +usr/local/lib/php/20121212/dom.so +usr/local/lib/php/20121212/gettext.so +usr/local/lib/php/20121212/json.so +usr/local/lib/php/20121212/mbstring.so +usr/local/lib/php/20121212/mcrypt.so +usr/local/lib/php/20121212/hash.so +usr/local/lib/php/20121212/mysql.so +usr/local/lib/php/20121212/openssl.so +usr/local/lib/php/20121212/pfSense.so +usr/local/lib/php/20121212/pcntl.so +usr/local/lib/php/20121212/spl.so +usr/local/lib/php/20121212/pdo.so +usr/local/lib/php/20121212/pdo_sqlite.so +usr/local/lib/php/20121212/posix.so +usr/local/lib/php/20121212/radius.so +usr/local/lib/php/20121212/readline.so +usr/local/lib/php/20121212/session.so +usr/local/lib/php/20121212/shmop.so +usr/local/lib/php/20121212/simplexml.so +usr/local/lib/php/20121212/sockets.so +usr/local/lib/php/20121212/spl.so +usr/local/lib/php/20121212/pdo.so +usr/local/lib/php/20121212/ssh2.so +usr/local/lib/php/20121212/sysvmsg.so +usr/local/lib/php/20121212/sysvsem.so +usr/local/lib/php/20121212/sysvshm.so +usr/local/lib/php/20121212/sqlite3.so +usr/local/lib/php/20121212/suhosin.so +usr/local/lib/php/20121212/tokenizer.so +usr/local/lib/php/20121212/xml.so +usr/local/lib/php/20121212/ldap.so +usr/local/lib/php/20121212/zlib.so +usr/local/lib/php/20121212/xmlreader.so +usr/local/lib/php/20121212/xmlwriter.so +usr/local/lib/php/20121212/xdebug.so +usr/local/lib/php/20121212/zmq.so +usr/local/lib/php/20121212/pdo_pgsql.so +usr/local/lib/php/20121212/ioncube/ioncube_loader.so +usr/local/lib/php/20121212/ioncube/ioncube_loader_ts.so +usr/local/lib/php/20121212/filter.so +usr/local/lib/libmhash.so.2 +usr/local/lib/libmcrypt.so.8 +usr/local/lib/libltdl.so.7 +usr/local/lib/mysql/libmysqlclient.so.15 +usr/local/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf +usr/local/bin/wol +usr/local/sbin/smartctl +usr/local/sbin/smartd +usr/local/share/smartmontools/drivedb.h +usr/local/sbin/ataidle +usr/local/bin/3gstat +boot/modules/bwi_v3_ucode.ko +usr/local/bin/cryptokeytest +usr/local/bin/cryptostats +usr/local/bin/cryptotest +usr/local/bin/hifnstats +usr/local/bin/ipsecstats +usr/local/bin/safestats +usr/local/bin/ubsecstats +usr/local/sbin/cpustats +usr/local/bin/xmllint +usr/share/doc/legal/intel_ipw/LICENSE +usr/share/doc/legal/intel_iwi/LICENSE +usr/share/doc/legal/intel_wpi/LICENSE +usr/local/sbin/ntp-keygen +usr/local/sbin/ntp-wait +usr/local/sbin/ntpd +usr/local/sbin/ntpdate +usr/local/sbin/ntpdc +usr/local/sbin/ntpq +usr/local/sbin/ntptime +usr/local/sbin/ntptrace +usr/local/sbin/sntp +usr/local/sbin/ipfw_context +usr/local/lib/snmp_regex.a +usr/local/lib/snmp_regex.la +usr/local/lib/snmp_regex.so +usr/local/lib/snmp_regex.so.0 +usr/local/lib/snmp_ucd.a +usr/local/lib/snmp_ucd.la +usr/local/lib/snmp_ucd.so +usr/local/lib/snmp_ucd.so.1 +usr/local/share/certs/ca-root-nss.crt +usr/bin/getopt +usr/sbin/ifmcstat +usr/local/bin/nsupdate +usr/pbi/.pbime +usr/pbi/.pbimount +usr/pbi/.ldconfig +usr/pbi/.pbisyslisten +usr/pbi/.pbisyscmd +usr/pbi/.mount_nullfs +usr/pbi/.pbi-wrapper-amd64 +usr/pbi/.pbi-wrapper-i386 +usr/local/sbin/pbi_create +usr/local/sbin/pbi_add +usr/local/sbin/pbi_addrepo +usr/local/sbin/pbi_browser +usr/local/sbin/pbi_autobuild +usr/local/sbin/pbi_delete +usr/local/sbin/pbi_deleterepo +usr/local/sbin/pbi_icon +usr/local/sbin/pbi_info +usr/local/sbin/pbi_indextool +usr/local/sbin/pbi_listrepo +usr/local/sbin/pbi_makepatch +usr/local/sbin/pbi_makeport +usr/local/sbin/pbi_makerepo +usr/local/sbin/pbi_metatool +usr/local/sbin/pbi_patch +usr/local/sbin/pbi_update +usr/local/sbin/pbi_update_hashdir +usr/local/sbin/pbi-crashhandler +usr/local/sbin/app +usr/local/sbin/pbi +usr/local/share/pcbsd/scripts/functions.sh +usr/local/sbin/ipsec +usr/local/libexec/ipsec/_copyright +usr/local/libexec/ipsec/_updown +usr/local/libexec/ipsec/_updown_espmark +usr/local/libexec/ipsec/charon +usr/local/libexec/ipsec/starter +usr/local/libexec/ipsec/stroke +usr/local/libexec/ipsec/whitelist +usr/local/lib/ipsec/libcharon.so +usr/local/lib/ipsec/libcharon.so.0 +usr/local/lib/ipsec/libhydra.so +usr/local/lib/ipsec/libhydra.so.0 +usr/local/lib/ipsec/libradius.so +usr/local/lib/ipsec/libradius.so.0 +usr/local/lib/ipsec/libsimaka.so +usr/local/lib/ipsec/libsimaka.so.0 +usr/local/lib/ipsec/libstrongswan.so +usr/local/lib/ipsec/libstrongswan.so.0 +usr/local/lib/ipsec/libtls.so +usr/local/lib/ipsec/libtls.so.0 +usr/local/lib/ipsec/plugins/libstrongswan-addrblock.so +usr/local/lib/ipsec/plugins/libstrongswan-aes.so +usr/local/lib/ipsec/plugins/libstrongswan-attr.so +usr/local/lib/ipsec/plugins/libstrongswan-blowfish.so +usr/local/lib/ipsec/plugins/libstrongswan-cmac.so +usr/local/lib/ipsec/plugins/libstrongswan-constraints.so +usr/local/lib/ipsec/plugins/libstrongswan-curl.so +usr/local/lib/ipsec/plugins/libstrongswan-des.so +usr/local/lib/ipsec/plugins/libstrongswan-dnskey.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-aka-3gpp2.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-aka.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-dynamic.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-identity.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-md5.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-mschapv2.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-peap.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-radius.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-sim-file.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-sim.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-tls.so +usr/local/lib/ipsec/plugins/libstrongswan-eap-ttls.so +usr/local/lib/ipsec/plugins/libstrongswan-fips-prf.so +usr/local/lib/ipsec/plugins/libstrongswan-gmp.so +usr/local/lib/ipsec/plugins/libstrongswan-hmac.so +usr/local/lib/ipsec/plugins/libstrongswan-ipseckey.so +usr/local/lib/ipsec/plugins/libstrongswan-kernel-pfkey.so +usr/local/lib/ipsec/plugins/libstrongswan-kernel-pfroute.so +usr/local/lib/ipsec/plugins/libstrongswan-md4.so +usr/local/lib/ipsec/plugins/libstrongswan-md5.so +usr/local/lib/ipsec/plugins/libstrongswan-nonce.so +usr/local/lib/ipsec/plugins/libstrongswan-openssl.so +usr/local/lib/ipsec/plugins/libstrongswan-pem.so +usr/local/lib/ipsec/plugins/libstrongswan-pgp.so +usr/local/lib/ipsec/plugins/libstrongswan-pkcs1.so +usr/local/lib/ipsec/plugins/libstrongswan-pkcs12.so +usr/local/lib/ipsec/plugins/libstrongswan-pkcs7.so +usr/local/lib/ipsec/plugins/libstrongswan-pkcs8.so +usr/local/lib/ipsec/plugins/libstrongswan-pubkey.so +usr/local/lib/ipsec/plugins/libstrongswan-random.so +usr/local/lib/ipsec/plugins/libstrongswan-rc2.so +usr/local/lib/ipsec/plugins/libstrongswan-resolve.so +usr/local/lib/ipsec/plugins/libstrongswan-revocation.so +usr/local/lib/ipsec/plugins/libstrongswan-sha1.so +usr/local/lib/ipsec/plugins/libstrongswan-sha2.so +usr/local/lib/ipsec/plugins/libstrongswan-socket-default.so +usr/local/lib/ipsec/plugins/libstrongswan-sshkey.so +usr/local/lib/ipsec/plugins/libstrongswan-stroke.so +usr/local/lib/ipsec/plugins/libstrongswan-unbound.so +usr/local/lib/ipsec/plugins/libstrongswan-updown.so +usr/local/lib/ipsec/plugins/libstrongswan-whitelist.so +usr/local/lib/ipsec/plugins/libstrongswan-x509.so +usr/local/lib/ipsec/plugins/libstrongswan-xauth-eap.so +usr/local/lib/ipsec/plugins/libstrongswan-xauth-generic.so +usr/local/lib/ipsec/plugins/libstrongswan-xcbc.so +usr/local/bin/joe +# +# Added 13/10/2014 +# +usr/local/bin/lua50c +usr/local/share/gettext/intl/osdep.c +usr/local/bin/gettext.sh +usr/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +usr/local/lib/lua/5.0/lmime.so +usr/local/share/locale/sl/LC_MESSAGES/gettext-tools.mo +usr/share/dtrace/toolkit/execsnoop +usr/local/bin/pki +usr/local/share/gettext/intl/config.charset +usr/lib/dtrace/ip.d +usr/local/share/dfuibe_lua/install/main.lua +usr/local/share/gettext/po/Makevars.template +usr/local/share/gettext/projects/KDE/trigger +usr/local/share/lua/5.0/app.lua +usr/local/man/man1/envsubst.1.gz +usr/local/share/gettext/intl/ref-del.sin +usr/local/share/dfuibe_lua/configure/400_mount_target_system.lua +usr/local/share/lua/5.0/pty.lua +usr/local/lib/libaura.so.3 +usr/local/share/aclocal/iconv.m4 +usr/local/share/locale/eu/LC_MESSAGES/gettext-tools.mo +lib/libdtrace.so.2 +usr/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +usr/lib/libzfs.so +usr/local/man/man1/msgen.1.gz +usr/local/share/dfuibe_lua/upgrade/300_select_part.lua +usr/local/bin/msgmerge +usr/local/share/dfuibe_lua/configure/550_write_configuration.lua +usr/local/share/dfuibe_lua/upgrade/600_unmount_target_system.lua +usr/local/bin/autopoint +usr/local/man/man3/ngettext.3.gz +usr/local/share/gettext/intl/vasnwprintf.h +usr/local/share/locale/zh_TW/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/intl/COPYING.LIB +usr/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +usr/local/share/gettext/intl/localename.c +usr/local/share/gettext/intl/loadmsgcat.c +usr/local/share/locale/ja/LC_MESSAGES/gettext-tools.mo +usr/bin/zinject +usr/local/man/man1/msgfmt.1.gz +usr/local/share/gettext/intl/version.c +usr/local/share/gettext/po/insert-header.sin +usr/local/share/gettext/intl/ChangeLog +usr/local/share/gettext/config.rpath +usr/local/lib/libgettextsrc.so +lib/libzpool.so.2 +usr/local/share/aclocal/wint_t.m4 +usr/local/share/dfuibe_lua/install/100_welcome.lua +usr/local/share/aclocal/lib-ld.m4 +usr/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +usr/local/share/locale/gl/LC_MESSAGES/gettext-tools.mo +usr/local/share/dfuibe_lua/upgrade/500_perform_upgrade.lua +usr/local/share/gettext/styles/po-emacs-xterm.css +usr/local/share/aclocal/intdiv0.m4 +usr/local/share/gettext/intl/xsize.h +usr/local/share/gettext/intl/xsize.c +usr/local/lib/lua/5.0/lcurses.so +boot/kernel/sfxge.ko.symbols +usr/local/bin/msggrep +usr/local/share/dfuibe_lua/lib/storage.lua +usr/local/www/fred.png +usr/local/share/dfuibe_lua/configure/menu/100_set_root_password.lua +usr/local/share/dfuife_curses/fred.txt +usr/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +usr/local/bin/msgconv +usr/local/share/gettext/styles/po-emacs-x.css +usr/local/share/dfuibe_lua/600_upgrade.lua +boot/gptzfsboot +usr/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +usr/local/lib/libintl.a +usr/local/lib/libgettextpo.a +usr/local/man/man1/gettextize.1.gz +lib/libavl.so.2 +usr/local/share/dfuibe_lua/configure/300_select_part.lua +usr/local/share/dfuibe_lua/configure/menu/400_change_console_settings.lua +usr/local/share/dfuibe_lua/configure/main.lua +usr/lib/libzpool.so +usr/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +usr/share/dtrace/toolkit/hotkernel +usr/local/lib/lua/5.0/lposix.so +usr/local/man/man3/dcgettext.3.gz +usr/local/lib/libaura.a +usr/local/share/locale/cs/LC_MESSAGES/gettext-tools.mo +usr/lib32/libutil.so.9 +usr/local/share/locale/tr/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/intl/gmo.h +usr/local/share/aclocal/intldir.m4 +usr/local/lib/libdfui.so +usr/local/share/locale/sk/LC_MESSAGES/gettext-tools.mo +usr/local/share/locale/ko/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/archive.dir.tar.xz +usr/local/bin/msgexec +usr/local/share/gettext/intl/tsearch.c +usr/local/share/gettext/intl/tsearch.h +usr/local/share/gettext/intl/hash-string.c +usr/local/share/gettext/intl/hash-string.h +usr/local/share/dfuibe_lua/install/270_install_bootblocks.lua +usr/local/share/gettext/intl/printf-args.h +usr/local/share/gettext/intl/printf-args.c +usr/local/www/dfly-pg.gif +usr/local/man/man3/bind_textdomain_codeset.3.gz +usr/local/info/autosprintf.info +lib/libzfs.so.2 +usr/local/include/dfui/lang.h +usr/local/share/lua/5.0/curses.lua +usr/lib/libzpool.a +usr/local/share/lua/5.0/ftp.lua +usr/local/share/locale/es/LC_MESSAGES/gettext-tools.mo +usr/lib/libavl.so +usr/local/bin/gettextize +usr/local/man/man3/dngettext.3.gz +usr/local/share/dfuibe_lua/configure/600_unmount_target_system.lua +usr/local/share/gettext/intl/localealias.c +usr/lib/libctf.so +usr/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +usr/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +usr/local/share/gettext/intl/langprefs.c +usr/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/configure/200_select_disk.lua +usr/local/share/aclocal/intmax.m4 +usr/local/share/gettext/projects/TP/teams.url +usr/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +usr/local/include/libintl.h +usr/local/sbin/dfuife_curses +usr/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/install/200_select_disk.lua +usr/local/share/gettext/intl/relocatable.h +usr/local/share/gettext/intl/relocatable.c +usr/local/share/dfuibe_lua/pit/050_welcome.lua +usr/local/share/locale/be/LC_MESSAGES/gettext-tools.mo +usr/local/share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo +usr/lib/libnvpair.so +usr/local/bin/envsubst +usr/local/share/locale/pt/LC_MESSAGES/gettext-tools.mo +usr/local/man/man1/autopoint.1.gz +usr/local/share/dfuibe_lua/install/250_partition_disk.lua +usr/local/share/gettext/intl/os2compat.h +usr/local/share/gettext/intl/os2compat.c +usr/local/man/man1/msgcomm.1.gz +usr/local/share/dfuibe_lua/lib/cmdchain.lua +usr/local/bin/msgfmt +usr/bin/ctfdump +usr/local/share/dfuibe_lua/upgrade/400_mount_target_system.lua +usr/local/share/gettext/projects/GNOME/team-address +usr/local/lib/libgettextpo.so.5 +usr/local/share/dfuibe_lua/lib/network.lua +usr/local/share/aclocal/progtest.m4 +usr/local/share/aclocal/size_max.m4 +usr/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +usr/local/share/aclocal/codeset.m4 +usr/local/lib/libdfui.so.4 +usr/local/share/gettext/intl/bindtextdom.c +usr/local/share/locale/fr/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/intl/ngettext.c +usr/local/bin/recode-sr-latin +usr/local/share/gettext/intl/dngettext.c +usr/local/share/gettext/msgunfmt.tcl +usr/local/share/lua/5.0/compat-5.1.lua +usr/local/share/gettext/styles/po-emacs-xterm256.css +usr/bin/zstreamdump +usr/local/share/aclocal/gettext.m4 +usr/local/share/aclocal/lib-prefix.m4 +usr/local/share/locale/uk/LC_MESSAGES/gettext-tools.mo +usr/local/share/dfuibe_lua/configure/500_menu.lua +usr/local/share/dfuibe_lua/lib/package_ui.lua +usr/local/include/dfui/dfui.h +usr/local/share/gettext/po/boldquot.sed +usr/local/man/man1/ngettext.1.gz +usr/lib/libuutil.so +usr/share/dtrace/toolkit/procsystime +usr/local/lib/libgettextsrc-0.18.3.so +usr/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +usr/bin/sgsmsg +usr/local/share/gettext/projects/team-address +usr/local/share/dfuibe_lua/lib/target_system_ui.lua +usr/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +usr/local/share/lua/5.0/posix.lua +var/log/ppp.log +usr/local/share/gettext/projects/KDE/teams.url +usr/local/man/man3/textdomain.3.gz +usr/local/share/gettext/intl/intl-exports.c +usr/local/share/aclocal/visibility.m4 +usr/local/share/aclocal/po.m4 +usr/lib/libnvpair.a +usr/lib/libzfs_core.so +usr/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +usr/local/share/locale/it/LC_MESSAGES/gettext-tools.mo +usr/local/share/dfuibe_lua/configure/menu/500_install_packages.lua +usr/local/bin/msginit +usr/lib/dtrace/psinfo.d +usr/local/share/gettext/intl/libintl.rc +usr/local/share/locale/nn/LC_MESSAGES/gettext-tools.mo +usr/local/include/aura/popen.h +usr/local/lib/libgettextlib.la +usr/local/lib/libintl.la +usr/local/share/locale/ro/LC_MESSAGES/gettext-tools.mo +sbin/zpool +boot/kernel/opensolaris.ko +usr/local/share/gettext/intl/localcharset.h +usr/local/share/gettext/intl/localcharset.c +usr/local/share/locale/vi/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/intl/plural.y +usr/local/share/gettext/intl/setlocale.c +usr/local/share/gettext/intl/plural.c +usr/local/share/gettext/projects/KDE/team-address +usr/lib/libumem.so +usr/local/share/locale/sr/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/projects/GNOME/teams.html +usr/lib/dtrace/tcp.d +usr/local/bin/ngettext +usr/local/share/dfuibe_lua/conf/BSDInstaller.lua +usr/local/share/dfuibe_lua/lib/target_system.lua +usr/bin/ctfmerge +usr/local/share/aclocal/glibc21.m4 +usr/local/share/dfuibe_lua/configure/menu/300_set_timezone.lua +usr/local/share/locale/el/LC_MESSAGES/gettext-tools.mo +usr/local/share/locale/pt_BR/LC_MESSAGES/gettext-tools.mo +usr/local/share/dfuibe_lua/lib/menu.lua +usr/local/include/aura/dict.h +usr/local/share/dfuibe_lua/pit/150_configure_console.lua +usr/local/share/aclocal/printf-posix.m4 +usr/local/share/gettext/intl/Makefile.in +usr/local/share/gettext/intl/lock.c +usr/local/share/gettext/intl/lock.h +usr/local/share/gettext/ABOUT-NLS +usr/local/lib/libasprintf.so +usr/local/share/locale/sv/LC_MESSAGES/gettext-tools.mo +usr/share/dtrace/toolkit/opensnoop +usr/local/share/dfuibe_lua/800_netboot.lua +usr/local/share/dfuibe_lua/lib/flow.lua +usr/local/share/dfuibe_lua/upgrade/550_upgrade_configuration.lua +usr/local/lib/libasprintf.so.0 +usr/local/share/aclocal/stdint_h.m4 +usr/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +usr/local/bin/msgfilter +usr/lib/libavl.a +usr/local/man/man1/msgfilter.1.gz +usr/local/share/lua/5.0/ltn12.lua +usr/local/share/dfuibe_lua/install/220_format_disk.lua +usr/local/share/gettext/intl/plural-exp.h +usr/local/share/gettext/intl/plural-exp.c +usr/local/share/dfuibe_lua/install/405_warn_omitted_subparts.lua +usr/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/upgrade/main.lua +usr/local/share/dfuibe_lua/configure/menu/main.lua +usr/local/www/dfuife.cgi +usr/local/share/dfuibe_lua/configure/menu/350_set_datetime.lua +usr/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/netboot/main.lua +usr/local/man/man1/msgcmp.1.gz +usr/local/lib/gettext/project-id +usr/local/bin/msgen +lib/libnvpair.so.2 +usr/local/share/dfuibe_lua/lib/storage_ui.lua +usr/sbin/lockstat +lib/libctf.so.2 +usr/local/share/gettext/styles/po-emacs-xterm16.css +usr/lib32/libc.so.7 +usr/local/share/gettext/po/remove-potcdate.sin +usr/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +usr/local/share/aclocal/fcntl-o.m4 +usr/local/share/gettext/intl/locale.alias +usr/local/include/dfui/dump.h +usr/local/share/locale/ru/LC_MESSAGES/dfuife_curses.mo +etc/periodic/daily/404.status-zfs +usr/local/share/gettext/po/en@quot.header +usr/local/share/locale/ca/LC_MESSAGES/gettext-tools.mo +usr/local/share/lua/5.0/mime.lua +lib/libzfs_core.so.2 +usr/local/share/dfuibe_lua/main.lua +usr/local/www/dfuife.css +usr/local/share/gettext/intl/gettextP.h +usr/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/netboot/500_setup_server.lua +usr/local/share/gettext/intl/log.c +usr/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +usr/local/share/gettext/projects/TP/trigger +usr/local/share/lua/5.0/filename.lua +usr/local/share/locale/ru/LC_MESSAGES/gettext-tools.mo +usr/local/share/locale/bg/LC_MESSAGES/gettext-tools.mo +usr/lib/dtrace/udp.d +usr/local/share/dfuibe_lua/lib/network_ui.lua +usr/lib/dtrace/regs_x86.d +usr/local/share/aclocal/inttypes-pri.m4 +usr/local/share/aclocal/glibc2.m4 +usr/local/bin/msgattrib +usr/local/share/dfuibe_lua/install/800_finished.lua +usr/lib/libdtrace.a +usr/local/share/gettext/projects/TP/team-address +usr/local/lib/libintl.so +usr/local/www/index.html +usr/local/share/lua/5.0/tp.lua +lib/libumem.so.2 +usr/local/man/man1/msggrep.1.gz +usr/local/share/aclocal/uintmax_t.m4 +usr/local/share/locale/zh_CN/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/intl/verify.h +usr/lib/dtrace/signal.d +usr/local/share/gettext/intl/dcigettext.c +usr/local/bin/msgcat +usr/local/lib/gettext/hostname +usr/local/lib/libgettextpo.la +usr/local/lib/libgettextlib-0.18.3.so +usr/local/lib/libaura.so +usr/local/lib/libgettextsrc.la +usr/local/lib/libgettextpo.so +usr/local/share/dfuibe_lua/install/300_select_part.lua +usr/local/share/aclocal/lock.m4 +usr/local/share/locale/locale.alias +usr/local/share/dfuibe_lua/lib/configvars.lua +usr/lib/libzfs_core.a +usr/local/share/dfuibe_lua/install/450_select_packages.lua +usr/local/man/man1/msginit.1.gz +usr/local/share/gettext/javaversion.class +usr/local/share/dfuibe_lua/install/407_create_subparts.lua +usr/local/share/locale/nl/LC_MESSAGES/gettext-tools.mo +usr/local/share/dfuibe_lua/install/410_select_additional_filesystems.lua +usr/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +usr/sbin/dtruss +usr/local/share/lua/5.0/smtp.lua +usr/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +usr/local/lib/gettext/user-email +usr/local/share/dfuibe_lua/install/420_preselect_packages.lua +usr/local/share/aclocal/nls.m4 +boot/kernel/zfs.ko +usr/local/share/lua/5.0/http.lua +usr/local/share/gettext/intl/export.h +usr/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +usr/local/lib/gettext/urlget +usr/lib/dtrace/drti.o +usr/local/share/gettext/intl/explodename.c +usr/local/share/dfuibe_lua/install/500_install_os.lua +usr/local/bin/msgcomm +usr/local/share/locale/pa/LC_MESSAGES/gettext-tools.mo +usr/local/share/gettext/po/Makefile.in.in +usr/local/lib/libdfui.a +usr/local/bin/msgcmp +usr/local/share/gettext/intl/l10nflist.c +usr/local/share/gettext/intl/eval-plural.h +usr/local/share/gettext/intl/textdomain.c +usr/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +usr/local/man/man1/msgmerge.1.gz +usr/local/share/gettext/intl/printf-parse.h +usr/local/share/gettext/intl/printf-parse.c +usr/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +usr/sbin/dtrace +usr/bin/ctfconvert +usr/local/share/gettext/styles/po-vim.css +usr/local/share/dfuibe_lua/pit/100_select_language.lua +usr/local/share/aclocal/intl.m4 +usr/lib/libdtrace.so +usr/local/share/dfuibe_lua/lib/uinav.lua +usr/local/lib/liblualib50.so +usr/local/share/gettext/intl/threadlib.c +usr/local/info/gettext.info +usr/local/share/dfuibe_lua/configure/450_init_configuration.lua +usr/sbin/zdb +usr/local/share/locale/et/LC_MESSAGES/gettext-tools.mo +usr/local/share/locale/hr/LC_MESSAGES/gettext-runtime.mo +usr/local/share/gettext/gettext.h +usr/local/share/gettext/projects/TP/teams.html +usr/local/share/gettext/intl/wprintf-parse.h +usr/local/share/lua/5.0/dfui.lua +usr/local/lib/libgettextlib.so +usr/local/include/autosprintf.h +usr/local/include/gettext-po.h +usr/local/bin/lua50c51 +usr/local/lib/libasprintf.a +usr/local/share/aclocal/lib-link.m4 +usr/local/share/dfuibe_lua/pit/400_load_kernel_modules.lua +usr/local/man/man3/dcngettext.3.gz +usr/local/man/man1/recode-sr-latin.1.gz +usr/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +usr/local/share/gettext/po/Rules-quot +usr/local/share/locale/de/LC_MESSAGES/gettext-tools.mo +usr/local/share/dfuibe_lua/conf/OpenBSD.lua +usr/local/share/dfuibe_lua/400_configure.lua +usr/local/share/dfuibe_lua/install/900_reboot.lua +usr/local/share/gettext/styles/po-default.css +usr/local/share/locale/id/LC_MESSAGES/gettext-tools.mo +usr/local/include/aura/buffer.h +usr/local/share/gettext/intl/gettext.c +usr/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +usr/local/share/gettext/intl/finddomain.c +usr/local/share/dfuibe_lua/lib/bitwise.lua +usr/local/share/gettext/projects/index +usr/local/share/aclocal/xsize.m4 +usr/local/share/aclocal/intlmacosx.m4 +usr/local/man/man3/gettext.3.gz +usr/lib/libzfs.a +usr/local/bin/msgunfmt +usr/local/share/lua/5.0/gettext.lua +usr/local/lib/libasprintf.la +usr/local/man/man1/xgettext.1.gz +usr/local/man/man3/bindtextdomain.3.gz +usr/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/upgrade/100_begin_upgrade.lua +usr/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +usr/local/share/aclocal/inttypes_h.m4 +usr/local/share/dfuibe_lua/install/400_select_subparts.lua +usr/local/man/man1/msgcat.1.gz +usr/local/share/gettext/projects/GNOME/teams.url +usr/local/share/dfuibe_lua/configure/100_choose_where_from.lua +usr/local/include/dfui/system.h +usr/local/share/locale/fi/LC_MESSAGES/gettext-tools.mo +usr/local/lib/liblua50.so +usr/local/share/gettext/intl/vasnprintf.c +usr/local/share/gettext/intl/vasnprintf.h +usr/local/lib/lua/5.0/lpty.so +usr/local/share/locale/nb/LC_MESSAGES/gettext-tools.mo +usr/local/share/locale/ru/LC_MESSAGES/dfuibe_lua.mo +sbin/zfs +usr/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +usr/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +usr/local/include/aura/fspred.h +usr/local/share/gettext/intl/intl-compat.c +usr/local/share/gettext/projects/GNOME/trigger +usr/local/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo +usr/local/lib/lua/5.0/lgettext.so +usr/local/share/aclocal/wchar_t.m4 +usr/local/share/gettext/intl/dcngettext.c +usr/local/share/dfuibe_lua/lib/package.lua +usr/local/include/aura/mem.h +usr/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/install/490_confirm_install_os.lua +usr/local/share/lua/5.0/transceiver.lua +usr/lib/libctf.a +boot/zfsloader +usr/local/share/gettext/po/quot.sed +usr/local/man/man1/msgexec.1.gz +usr/local/share/gettext/intl/ref-add.sin +lib/libuutil.so.2 +usr/local/share/dfuibe_lua/conf/NetBSD.lua +usr/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +usr/lib/libuutil.a +usr/local/share/dfuibe_lua/pit/main.lua +usr/local/share/gettext/intl/dgettext.c +usr/lib/dtrace/errno.d +usr/local/share/dfuibe_lua/pit/800_configure_network.lua +usr/local/man/man1/msgunfmt.1.gz +usr/local/share/aclocal/longlong.m4 +usr/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +usr/local/share/dfuibe_lua/upgrade/200_select_disk.lua +usr/local/share/locale/pl/LC_MESSAGES/gettext-tools.mo +usr/sbin/zhack +usr/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +usr/local/bin/gettext +usr/local/share/dfuibe_lua/conf/FreeBSD.lua +usr/local/man/man1/msgconv.1.gz +usr/local/man/man1/msgattrib.1.gz +usr/lib/libumem.a +usr/local/share/gettext/intl/printf.c +usr/local/share/gettext/intl/dcgettext.c +usr/local/share/dfuibe_lua/configure/menu/550_remove_packages.lua +usr/lib/dtrace/io.d +usr/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +etc/periodic/daily/800.scrub-zfs +usr/local/share/dfuibe_lua/conf/DragonFly.lua +usr/local/man/man1/gettext.1.gz +usr/local/bin/msguniq +boot/zfsboot +usr/local/lib/lua/5.0/lsocket.so +usr/local/lib/lua/5.0/ldfui.so +usr/local/share/gettext/intl/VERSION +usr/local/share/gettext/po/en@boldquot.header +usr/share/dtrace/toolkit/hotuser +usr/local/share/gettext/intl/libgnuintl.in.h +usr/local/share/locale/da/LC_MESSAGES/gettext-tools.mo +usr/local/share/dfuibe_lua/configure/menu/200_add_user.lua +usr/local/www/dfuife.js +sbin/setkey +usr/local/share/lua/5.0/url.lua +usr/local/share/aclocal/lcmessage.m4 +usr/local/share/gettext/intl/loadinfo.h +usr/local/share/lua/5.0/socket.lua +usr/local/share/aclocal/threadlib.m4 +usr/local/man/man1/msguniq.1.gz +usr/lib/dtrace/unistd.d +usr/local/bin/xgettext +usr/local/man/man3/dgettext.3.gz +usr/bin/ztest +usr/local/www/fred-bg.gif +usr/local/share/gettext/projects/KDE/teams.html +usr/local/bin/ipmitool +usr/local/bin/python2.7-config +usr/local/bin/python2.7 +usr/local/bin/python +usr/local/lib/python2.7 diff --git a/conf/env_ports/builder_required_ports b/conf/env_ports/builder_required_ports new file mode 100644 index 0000000..1ac99e6 --- /dev/null +++ b/conf/env_ports/builder_required_ports @@ -0,0 +1,10 @@ +/usr/local/sbin/portmaster /usr/ports/ports-mgmt/portmaster +/usr/local/bin/mkisofs /usr/ports/sysutils/cdrtools +/usr/local/lib/libpcre.so.3 /usr/ports/devel/pcre +/usr/local/bin/curl /usr/ports/ftp/curl +/usr/local/bin/rsync /usr/ports/net/rsync +/usr/local/bin/cpdup /usr/ports/sysutils/cpdup +/usr/local/bin/git /usr/ports/devel/git +/usr/local/bin/screen /usr/ports/sysutils/screen +/usr/local/bin/openssl /usr/ports/security/openssl +#/usr/local/bin/qemu-img /usr/ports/emulators/qemu diff --git a/conf/kernel/opnsense_SMP.10 b/conf/kernel/opnsense_SMP.10 new file mode 100755 index 0000000..8b6d635 --- /dev/null +++ b/conf/kernel/opnsense_SMP.10 @@ -0,0 +1,218 @@ + +include GENERIC + +options KDB +nooptions KDB_TRACE +options DDB # Support DDB. +nooptions GDB # Support remote GDB. +nooptions DEADLKRES +nooptions INVARIANTS +nooptions INVARIANT_SUPPORT +nooptions WITNESS +nooptions WITNESS_SKIPSPIN +nooptions MALLOC_DEBUG_MAXZONES + +nomakeoptions DEBUG +#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols + +ident pfSense8_SMP + +nooptions MAC # TrustedBSD MAC Framework +nooptions COMPAT_43TTY # BSD 4.3 TTY compat (sgtty) +nooptions COMPAT_FREEBSD4 # Compatible with FreeBSD4 +nooptions COMPAT_FREEBSD5 # Compatible with FreeBSD5 +nooptions COMPAT_FREEBSD6 # Compatible with FreeBSD6 +nooptions FLOWTABLE +nooptions SCHED_4BSD +options SCHED_ULE # add inULE scheduler + +# IPSEC filtering interface +device enc + +options GEOM_MIRROR +options GEOM_UZIP +options GEOM_LABEL +nooption GEOM_MBR +options GEOM_PART_MBR +options GEOM_PART_BSD +options GEOM_ELI +options GEOM_BDE + +# Need for LiveCD's +options CD9660 + +# Wireless +device wlan +device wlan_wep +device wlan_ccmp +device wlan_tkip +device wlan_xauth +device wlan_acl +device wlan_amrr +device iwi # Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 driver +device ipw # Intel PRO/Wireless 2100 IEEE 802.11 driver +device ipwfw # Firmware for Intel PRO/Wireless 2100 IEEE 802.11 driver +device wpi # Intel 3945ABG Wireless LAN IEEE 802.11 driver +device wpifw # Firmware for Intel 3945ABG Wireless LAN IEEE 802.11 driver +device iwn # Intel Wireless WiFi Link 4965AGN IEEE 802.11n driver +device iwnfw # Firmware for Intel Wireless WiFi Link 4965AGN IEEE 802.11n driver +device alc # Atheros IEEE 802.11 wireless network driver +device ath # Atheros IEEE 802.11 wireless network driver +device ath_hal +options AH_SUPPORT_AR5416 +device ath_rate_sample +device uath # Atheros USB IEEE 802.11a/b/g wireless network device +device an # Aironet 4500/4800 802.11 wireless NICs. +device ral # Ralink Technology RT2500 wireless NICs. +device ralfw # Firmware for Ralink Technology RT2500 wireless NICs. +device ural # Ralink Technology RT2500USB IEEE 802.11 driver +device urtw # Realtek RTL8187B/L USB IEEE 802.11b/g wireless network device +device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +device rum # Ralink Technology USB IEEE 802.11a/b/g wireless network device +device mwl # Marvell 88W8363 IEEE 802.11n wireless network driver +device mwlfw # Firmware for Marvell 88W8363 IEEE 802.11n wireless network driver +device zyd # ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network device +device malo # Marvell Libertas IEEE 802.11b/g wireless network driver +device upgt # Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g wireless +device bwi # Broadcom BCM43xx IEEE 802.11b/g wireless network driver +# Only for 8.1+ +device siba_bwn # Broadcom BCM43xx IEEE 802.11b/g wireless network driver +device bwn # Broadcom BCM43xx IEEE 802.11b/g wireless network driver +device run # Ralink RT2700U/RT2800U/RT3000U USB 802.11agn + +options UNIONFS # Union filesystem + +options IPFIREWALL_DEFAULT_TO_ACCEPT +options IPFIREWALL_VERBOSE +options IPFIREWALL_VERBOSE_LIMIT + +device bpf +device carp +device pf +device pflog +device pfsync +device vlan +device gre + +options IPSTEALTH +options INCLUDE_CONFIG_FILE + +options NETGRAPH #netgraph(4) system +options NETGRAPH_VLAN +options NETGRAPH_L2TP +options NETGRAPH_ASYNC +options NETGRAPH_BPF +options NETGRAPH_BRIDGE +options NETGRAPH_CISCO +options NETGRAPH_ECHO +options NETGRAPH_ETHER +options NETGRAPH_FRAME_RELAY +options NETGRAPH_HOLE +options NETGRAPH_IFACE +options NETGRAPH_EIFACE +options NETGRAPH_KSOCKET +options NETGRAPH_LMI +options NETGRAPH_MPPC_ENCRYPTION +options NETGRAPH_ONE2MANY +options NETGRAPH_PPP +options NETGRAPH_PPPOE +options NETGRAPH_PPTPGRE +options NETGRAPH_RFC1490 +options NETGRAPH_SOCKET +options NETGRAPH_TEE +options NETGRAPH_TTY +options NETGRAPH_UI +options NETGRAPH_VJC +options NETGRAPH_TCPMSS +options NETGRAPH_PIPE +options NETGRAPH_CAR +options NETGRAPH_DEFLATE +options NETGRAPH_PRED1 + +# 3G devices +device ubsa +device ufoma +#device umsm +device ucom +device uplcom +device ubsa +device umct +device uvisor +device uark +device uftdi +device uvscom +device umodem +device ufoma +device u3g +device ucom + +options IPSEC +options IPSEC_NAT_T + +options TCP_SIGNATURE #include support for RFC 2385 + +options ALTQ +options ALTQ_CBQ +options ALTQ_RED +options ALTQ_RIO +options ALTQ_HFSC +options ALTQ_PRIQ + +# Bridging +device if_bridge + +# Squid related settings +options MSGMNB=8192 # max # of bytes in a queue +options MSGMNI=40 # number of message queue identifiers +options MSGSEG=512 # number of message segments per queue +options MSGSSZ=32 # size of a message segment +options MSGTQL=2048 # max messages in system + +device tap +device hme + +# Needed for FreeSBIE 2 +options NULLFS + +device speaker + +options DEVICE_POLLING + +device lagg + +options MROUTING + +# Additional cards +device bktr # bktr -- Brooktree Bt848/849/878/879 and Pinnacle PCTV video capture +device ale # ale -- Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet driver +device safe # safe -- SafeNet crypto accelerator +device et # et(4) for AGERE ET1310 fastE and gigE +device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards +device mxge # mxge - Myricom Myri10GE 10 Gigabit Ethernet adapter driver +device cxgb # cxgb -- Chelsio T3 10 Gigabit Ethernet adapter driver +device igb # igb -- Intel(R) PRO/1000 PCI Express Gigabit Ethernet adapter driver +device ixgbe # http://www.nabble.com/kern-130476:-Error-in-compiling-kernel-with-device-ixgbe-td21424560.html +device ae # ae -- Attansic/Atheros L2 FastEthernet controller driver +device cas # Sun Cassini/Cassini+ and National Semiconductor DP83065 Saturn +device crypto # core crypto support +device cryptodev # /dev/crypto for access to h/w +device hifn # Hifn 7951, 7781, etc. +device ubsec # Broadcom 5501, 5601, 58xx +device udav # Davicom DM9601 USB Ethernet driver +#options HIFN_DEBUG # enable debugging support: hw.hifn.debug +#options HIFN_RNDTEST # enable rndtest support +#device rndtest # FIPS 140-2 entropy tester + +options IPSEC_NAT_T +#options ALTQ_FAIRQ + +options COMPAT_FREEBSD7 + +#options PRINTF_BUFR_SIZE # fights garble printf on shutdown + +#options FLOWTABLE + +device padlock + +options PPS_SYNC +options TCP_SIGNATURE diff --git a/conf/patchlist/patches.RELENG_10_0 b/conf/patchlist/patches.RELENG_10_0 new file mode 100644 index 0000000..e8be6f1 --- /dev/null +++ b/conf/patchlist/patches.RELENG_10_0 @@ -0,0 +1,67 @@ +~~~/sys/contrib/pf/net/pf_ftp.c~ +~~~/usr.sbin/syslogd/clog.h~ +~~~/sbin/ifconfig/ifstf.c~ +-p1~~altq_max_queues.diff~ +-p1~~dscp.RELENG_10.diff~ +-p1~~hfscconfig.RELENG_10.diff~ +-p1~~get_tag_altq_ids.RELENG_10.diff~ +-p1~~reply-to.RELENG_10.diff~ +-p1~~binat.RELENG_10.diff~ +-p1~~pfil.RELENG_10.diff~ +-p1~~ipfw_dummynet_bandwidth.diff~ +-p1~~ng_iface.RELENG_10.diff~ +-p1~~ng_eiface.RELENG_10.diff~ +-p1~~lib386boot.diff~ +-p1~~syslogd.c.diff~ +-p1~~if_ethersubr.c.diff~ +-p1~~ip_carp.c.diff~ +-p1~~wpa_correct_mac_address.RELENG_10.diff~ +-p1~~ng_ether_attach_command.diff~ +-p1~~carp_correct_mac.diff~ +-p1~~pfvar_addr_compare.RELENG_10.diff~ +-p1~~carp_replay_protection.diff~ +-p1~~if_bridge_gif_mtu.diff~ +-p1~~pfaltq_interface_bw.diff~ +-p1~~scrub_FIN+SYN_drop.diff~ +-p1~~ifqueue_maxlen.diff~ +-p1~~netisr_default_values.diff~ +-p1~~ip_dstchng_fix.diff~ +-p1~~if_pfsync.diff~ +-p1~~route.diff~ +-p1~~tun_optimization.diff~ +~~pam_remove_nullok.diff~ +~~beastie.4th.diff~ +~~menu-commands.4th.diff~ +~~brand.4th.diff~ +~~loader.conf.diff~ +-p1~~pf_tags_alloc.diff~ +-p1~~sfxge_compile_i386.diff~ +-p1~~set_ifaddr_first.diff~ +#-p1~~CP_multi_instance_ipfw.diff~ +#~~menu.4th.diff~ +#~~openssl_head.tgz~ +#~~~/sbin/ipfw/context.c~ +#-p1~~pf_route_to_daemon_friendly.RELENG_10.diff~ +#-p1~~dummynet.RELENG_10.diff~ +#-p1~~schedule_label.RELENG_10.diff~ +#-p1~~fairq.RELENG_10.diff~ +#-p1~~netstat_ifname_size.diff~ +#-p1~~route-to_without_gw.diff~ +#-p1~~carp_livelock_fixes.diff~ +#-p1~~pf_match.diff~ +#-p1~~pf_stickies_fix2.diff~ +#-p1~~pf_802.1p.diff~ +#-p1~~divert.RELENG_10.diff~ +#-p1~~CP_speedup.diff~ +#-p1~~stf_6rd.diff~ +#-p1~~ipsec_improvement.diff~ +#-p1~~IPSEC_sysctl.RELENG_10.diff~ +#-p1~~altq_codel.diff~ +#-p1~~killifstates.RELENG_10.diff~ +#-p1~~pf_static_tracker.diff~ +#-p1~~ipsec_altq.RELENG_10.diff~ +#~~~/sys/contrib/altq/altq/altq_fairq.h~ +#~~~/sys/contrib/altq/altq/altq_fairq.c~ +#~~~/sys/contrib/altq/altq/altq_codel.h~ +#~~~/sys/contrib/altq/altq/altq_codel.c~ +#~~makefile.inc1.diff~ diff --git a/conf/ports/buildports b/conf/ports/buildports new file mode 100644 index 0000000..dd2adcf --- /dev/null +++ b/conf/ports/buildports @@ -0,0 +1,109 @@ +docbook /usr/ports/textproc/docbook /usr/local/share/xml/docbook/xhtml/docbook.xsl +docbook-xsl /usr/ports/textproc/docbook-xsl /usr/local/share/xsl/docbook/xhtml/docbook.xsl +#COMPATpfflowd-0.8 /usr/ports/net/pfflowd-0.8 /usr/local/sbin/pfflowd +strongswan /usr/ports/security/strongswan /usr/local/sbin/ipsec +#COMPATopeniked /usr/ports/security/openiked /usr/local/sbin/iked +ipfw-classifyd /usr/ports/net/ipfw-classifyd /usr/local/sbin/ipfw-classifyd +dhcpleases /usr/ports/sysutils/dhcpleases /usr/local/sbin/dhcpleases +dhcpleases6 /usr/ports/sysutils/dhcpleases6 /usr/local/sbin/dhcpleases6 +filterdns /usr/ports/net/filterdns /usr/local/sbin/filterdns +apinger /usr/ports/net/apinger /usr/local/sbin/apinger +rrdtool12 /usr/ports/databases/rrdtool12 /usr/local/bin/rrdtool +cpdup /usr/ports/sysutils/cpdup /usr/local/bin/cpdup +cpustats /usr/ports/sysutils/cpustats /usr/local/sbin/cpustats +beep /usr/ports/audio/beep /usr/local/bin/beep +choparp /usr/ports/net-mgmt/choparp /usr/local/sbin/choparp +dnsmasq /usr/ports/dns/dnsmasq /usr/local/sbin/dnsmasq +expiretable /usr/ports/security/expiretable /usr/local/sbin/expiretable +ifstated /usr/ports/net/ifstated /usr/local/sbin/ifstated +igmpproxy /usr/ports/net/igmpproxy /usr/local/sbin/igmpproxy +bind /usr/ports/dns/bind99 /usr/local/bin/nsupdate +isc-dhcp42-server /usr/ports/net/isc-dhcp42-server /usr/local/sbin/dhcpd +isc-dhcp42-client /usr/ports/net/isc-dhcp42-client /usr/local/sbin/dhclient +isc-dhcp42-relay /usr/ports/net/isc-dhcp42-relay /usr/local/sbin/dhcrelay +lighttpd /usr/ports/www/lighttpd /usr/local/sbin/lighttpd +miniupnpd /usr/ports/net/miniupnpd /usr/local/sbin/miniupnpd +mpd4 /usr/ports/net/mpd4 /usr/local/sbin/mpd4 +mpd5 /usr/ports/net/mpd5 /usr/local/sbin/mpd5 +pftop /usr/ports/sysutils/pftop /usr/local/sbin/pftop +libevent /usr/ports/devel/libevent /usr/local/lib/libevent.so +relayd /usr/ports/net/relayd /usr/local/sbin/relayd +fping /usr/ports/net/fping /usr/local/sbin/fping +minicron /usr/ports/sysutils/minicron /usr/local/bin/minicron +php55 /usr/ports/lang/php55 /usr/local/bin/php +##OLDpecl-APC /usr/ports/www/pecl-APC /usr/local/lib/php/20121212/apc.so +php55-bcmath /usr/ports/math/php55-bcmath /usr/local/lib/php/20121212/bcmath.so +php55-bz2 /usr/ports/archivers/php55-bz2 /usr/local/lib/php/20121212/bz2.so +php55-ctype /usr/ports/textproc/php55-ctype /usr/local/lib/php/20121212/ctype.so +php55-curl /usr/ports/ftp/php55-curl /usr/local/lib/php/20121212/curl.so +php55-gettext /usr/ports/devel/php55-gettext /usr/local/lib/php/20121212/gettext.so +php55-hash /usr/ports/security/php55-hash /usr/local/lib/php/20121212/hash.so +php55-ldap /usr/ports/net/php55-ldap /usr/local/lib/php/20121212/ldap.so +php55-mbstring /usr/ports/converters/php55-mbstring /usr/local/lib/php/20121212/mbstring.so +php55-mcrypt /usr/ports/security/php55-mcrypt /usr/local/lib/php/20121212/mcrypt.so +php55-mysql /usr/ports/databases/php55-mysql /usr/local/lib/php/20121212/mysql.so +php55-openssl /usr/ports/security/php55-openssl /usr/local/lib/php/20121212/openssl.so +php55-pcntl /usr/ports/devel/php55-pcntl /usr/local/lib/php/20121212/pcntl.so +php55-posix /usr/ports/sysutils/php55-posix /usr/local/lib/php/20121212/posix.so +php55-pdo /usr/ports/databases/php55-pdo /usr/local/lib/php/20121212/pdo.so +php55-pdo_sqlite /usr/ports/databases/php55-pdo_sqlite /usr/local/lib/php/20121212/pdo_sqlite.so +pecl-radius /usr/ports/net/pecl-radius /usr/local/lib/php/20121212/radius.so +php55-pfSense-module /usr/ports/devel/php55-pfSense-module /usr/local/lib/php/20121212/pfSense.so +php55-readline /usr/ports/devel/php55-readline /usr/local/lib/php/20121212/readline.so +php55-session /usr/ports/www/php55-session /usr/local/lib/php/20121212/session.so +php55-simplexml /usr/ports/textproc/php55-simplexml /usr/local/lib/php/20121212/simplexml.so +php55-sockets /usr/ports/net/php55-sockets /usr/local/lib/php/20121212/sockets.so +php55-shmop /usr/ports/devel/php55-shmop /usr/local/lib/php/20121212/shmop.so +php55-sysvmsg /usr/ports/devel/php55-sysvmsg /usr/local/lib/php/20121212/sysvmsg.so +php55-sysvsem /usr/ports/devel/php55-sysvsem /usr/local/lib/php/20121212/sysvsem.so +php55-sysvshm /usr/ports/devel/php55-sysvshm /usr/local/lib/php/20121212/sysvshm.so +php55-sqlite /usr/ports/databases/php55-sqlite /usr/local/lib/php/20121212/pdo_sqlite.so +php55-tokenizer /usr/ports/devel/php55-tokenizer /usr/local/lib/php/20121212/tokenizer.so +php55-xml /usr/ports/textproc/php55-xml /usr/local/lib/php/20121212/xml.so +php55-zlib /usr/ports/archivers/php55-zlib /usr/local/lib/php/20121212/zlib.so +php55-xmlreader /usr/ports/textproc/php55-xmlreader /usr/local/lib/php/20121212/xmlreader.so +php55-xmlwriter /usr/ports/textproc/php55-xmlwriter /usr/local/lib/php/20121212/xmlwriter.so +##OLDpecl-inclued /usr/ports/devel/pecl-inclued /usr/local/lib/php/20121212/inclued.so +zmq /usr/ports/net/libzmq2 /usr/local/lib/libzmq.so.1 +php55-zmq /usr/ports/devel/php55-zmq /usr/local/lib/php/20121212/zmq.so +php-xdebug /usr/ports/devel/php-xdebug /usr/local/lib/php/20121212/xdebug.so +php-suhosin /usr/ports/security/php-suhosin /usr/local/lib/php/20121212/suhosin.so +openvpn /usr/ports/security/openvpn /usr/local/sbin/openvpn +syslog-ng /usr/ports/sysutils/syslog-ng /usr/local/sbin/syslog-ng +zip /usr/ports/archivers/zip /usr/local/bin/zip +links /usr/ports/www/links /usr/local/bin/links +elinks /usr/ports/www/elinks /usr/local/bin/elinks +ntp /usr/ports/net/ntp-devel /usr/local/sbin/ntpd +php55-json /usr/ports/devel/php55-json /usr/local/lib/php/20121212/json.so +rate /usr/ports/net-mgmt/rate /usr/local/bin/rate +wol /usr/ports/net/wol /usr/local/bin/wol +dhcp6 /usr/ports/net/dhcp6 /usr/local/sbin/dhcp6c +3gstat_um175 /usr/ports/comms/3gstat_um175 /usr/local/bin/3gstat +#OLDwrapalixresetbutton /usr/ports/sysutils/wrapalixresetbutton /usr/local/sbin/alixresetbtn +b43-fwcutter /usr/ports/sysutils/b43-fwcutter /usr/local/bin/b43-fwcutter +bwi-firmware-kmod /usr/ports/net/bwi-firmware-kmod /boot/modules/bwi_v3_ucode.ko +voucher /usr/ports/sysutils/voucher /usr/local/bin/voucher +gzsig /usr/ports/sysutils/gzsig /usr/local/sbin/gzsig +#COMPATssh_tunnel_shell /usr/ports/sysutils/ssh_tunnel_shell /usr/local/sbin/ssh_tunnel_shell +#COMPATsshlockout_pf /usr/ports/sysutils/sshlockout_pf /usr/local/sbin/sshlockout_pf +smartmontools /usr/ports/sysutils/smartmontools /usr/local/sbin/smartctl +ataidle /usr/ports/sysutils/ataidle /usr/local/sbin/ataidle +syslogd /usr/ports/sysutils/syslogd /usr/sbin/syslogd +clog /usr/ports/sysutils/clog /usr/local/sbin/clog +pecl-ssh2 /usr/ports/security/pecl-ssh2 /usr/local/lib/php/20121212/ssh2.so +autoconf-wrapper /usr/ports/devel/autoconf-wrapper /usr/local/bin/autoconf-wrapper +rsync /usr/ports/net/rsync /usr/local/bin/rsync +#DEFECTqstats /usr/ports/sysutils/qstats /usr/local/sbin/qstats +gogoc /usr/ports/net/gogoc /usr/local/bin/gogoc +radvd /usr/ports/net/radvd /usr/local/sbin/radvd +ca_root_nss /usr/ports/security/ca_root_nss /usr/local/share/certs/ca-root-nss.crt +bsnmp-ucd /usr/ports/net-mgmt/bsnmp-ucd /usr/local/lib/snmp_ucd.so +bsnmp-regex /usr/ports/net-mgmt/bsnmp-regex /usr/local/lib/snmp_regex.so +svnup /usr/ports/net/svnup /usr/local/bin/svnup +filterlog /usr/ports/sysutils/filterlog /usr/local/sbin/filterlog +ipmitool /usr/ports/sysutils/ipmitool /usr/local/bin/ipmitool +dmidecode /usr/ports/sysutils/dmidecode /usr/local/sbin/dmidecode +check_reload_status /usr/ports/sysutils/check_reload_status /usr/local/sbin/pfSctl +php55-sqlite3 /usr/ports/databases/php55-sqlite3 /usr/local/lib/php/20121212/sqlite3.so +php55-filter /usr/ports/security/php55-filter /usr/local/lib/php/20121212/filter.so +python2 /usr/ports/lang/python2 /usr/local/bin/python2 diff --git a/conf/ports/make.conf b/conf/ports/make.conf new file mode 100644 index 0000000..b4e18fe --- /dev/null +++ b/conf/ports/make.conf @@ -0,0 +1,52 @@ +# Generic options +OPTIONS_UNSET_FORCE= X11 DOCS EXAMPLES MAN INFO + +# Individual ports options +apinger_SET_FORCE= IPV6 + +elinks_UNSET_FORCE= FASTMEM + +lighttpd_SET_FORCE= NODELAY + +miniupnpd_SET_FORCE= PF_ENABLE_FILTER_RULES + +openssl_SET_FORCE= PADLOCK + +openvpn_SET_FORCE= PW_SAVE +openvpn_UNSET_FORCE= EASYRSA + +rrdtool_UNSET_FORCE= PERL + +qemu_UNSET_FORCE= SDL + +strongswan_SET_FORCE= CURL EAPAKA3GPP2 EAPDYNAMIC EAPRADIUS EAPSIMFILE IKEv1 UNBOUND XAUTH IPSECKEY + +.if ${.CURDIR:N*net/rsync*}=="" +CFLAGS+= -static +.endif + +.if ${.CURDIR:N*security/openiked*}=="" +CONFIGURE_ARGS= --without-openssl-header-check +.endif + +# OS version specific options +OSRELDATE!= /sbin/sysctl -n kern.osreldate +.if ${OSRELDATE} >= 1000000 +#WITH_OPENSSL_BASE= yes +WITH_OPENSSL_PORT= yes +#syslog-ng_SET_FORCE= SYS_SSL +syslog-ng_UNSET_FORCE= SYS_SSL +#syslog-ng_UNSET_FORCE= PORTS_SSL +syslog-ng_SET_FORCE= PORTS_SSL +php55_SET_FORCE= FPM + +#. if ${.CURDIR:N*sysutils/check_reload_status*}=="" +#WITH_DEBUG= yes +#. endif + +.else +WITH_OPENSSL_PORT= yes +syslog-ng_UNSET_FORCE= SYS_SSL +syslog-ng_SET_FORCE= PORTS_SSL +.endif + diff --git a/conf/rmlist/remove.list.iso.10 b/conf/rmlist/remove.list.iso.10 new file mode 100755 index 0000000..030177b --- /dev/null +++ b/conf/rmlist/remove.list.iso.10 @@ -0,0 +1,852 @@ +./bin/chio +./bin/ed +./bin/getfacl +./bin/rcp +./bin/red +./bin/setfacl +./boot/kernel/acpi_*.ko +./boot/device.hints_wrap +./boot/loader.conf_wrap +./etc/bluetooth +./etc/gnats +./etc/isdn +./etc/mail/mailer.conf +./etc/mail/aliases +./etc/mail +./etc/amd.map +./etc/pam.d/README +./etc/pam.d/ftpd +./etc/pam.d/gdm +./etc/pam.d/imap +./etc/pam.d/kde +./etc/pam.d/pop3 +./etc/pam.d/rsh +./etc/pam.d/telnetd +./etc/pam.d/xdm +./etc/pamd.conf +./etc/periodic/daily/* +./etc/periodic/monthly/* +./etc/periodic/security/* +./etc/periodic/weekly/* +./lib/libcam.so.3 +./root/.xcustom.sh +./sbin/badsect +./sbin/ccdconfig +./sbin/clri +./sbin/comcontrol +./sbin/ffsinfo +./sbin/fsdb +./sbin/fsirand +./sbin/gconcat +./sbin/ggatec +./sbin/ggated +./sbin/ggatel +./sbin/gnop +./sbin/graid3 +./sbin/gshsec +./sbin/gstripe +./sbin/gvinum +./sbin/mksnap_ffs +./sbin/mount_ext2fs +./sbin/mount_linprocfs +./sbin/mount_ntfs +./sbin/mount_reiserfs +./sbin/mount_std +./sbin/mount_udf +./sbin/mount_umapfs +./sbin/natd +./sbin/nfsiod +./sbin/nos-tun +./sbin/quotacheck +./sbin/rdump +./sbin/restore +./sbin/rrestore +./sbin/sconfig +./sbin/setkey +./sbin/slattach +./sbin/spppcontrol +./sbin/startslip +./sbin/sunlabel +./usr/bin/Mail +./usr/bin/alias +./usr/bin/apply +./usr/bin/apropos +./usr/bin/asa +./usr/bin/atq +./usr/bin/atrm +./usr/bin/b64decode +./usr/bin/b64encode +./usr/bin/banner +./usr/bin/batch +./usr/bin/bdes +./usr/bin/bg +./usr/bin/biff +./usr/bin/brandelf +./usr/bin/bzegrep +./usr/bin/bzfgrep +./usr/bin/bzgrep +./usr/bin/bzip2recover +./usr/bin/bzless +./usr/bin/cal +./usr/bin/calendar +./usr/bin/checknr +./usr/bin/chkey +./usr/bin/ci +./usr/bin/co +./usr/bin/col +./usr/bin/colcrt +./usr/bin/colldef +./usr/bin/colrm +./usr/bin/column +./usr/bin/comm +./usr/bin/command +./usr/bin/compile_et +./usr/bin/compress +./usr/bin/crunchgen +./usr/bin/crunchide +./usr/bin/crypt +./usr/bin/csplit +./usr/bin/ctags +./usr/bin/dc +./usr/bin/edit +./usr/bin/elf2aout +./usr/bin/elfdump +./usr/bin/enigma +./usr/bin/ex +./usr/bin/expand +./usr/bin/fc +./usr/bin/fg +./usr/bin/file2c +./usr/bin/finger +./usr/bin/fmt +./usr/bin/fold +./usr/bin/from +./usr/bin/fsync +./usr/bin/gate-ftp +./usr/bin/gcore +./usr/bin/gencat +./usr/bin/getconf +./usr/bin/gzexe +./usr/bin/hd +./usr/bin/hesinfo +./usr/bin/ident +./usr/bin/indent +./usr/bin/info +./usr/bin/infokey +./usr/bin/ipcrm +./usr/bin/ipcs +./usr/bin/jobs +./usr/bin/join +./usr/bin/kdump +./usr/bin/keylogin +./usr/bin/keylogout +./usr/bin/ktrace +./usr/bin/ktrdump +./usr/bin/lam +./usr/bin/last +./usr/bin/lastcomm +./usr/bin/leave +./usr/bin/locale +./usr/bin/locate +./usr/bin/logins +./usr/bin/logname +./usr/bin/look +./usr/bin/lorder +./usr/bin/lsvfs +./usr/bin/m4 +./usr/bin/mail +./usr/bin/mailx +./usr/bin/make +./usr/bin/makeinfo +./usr/bin/makewhatis +./usr/bin/merge +./usr/bin/mesg +./usr/bin/mkdep +./usr/bin/mklocale +./usr/bin/mkstr +./usr/bin/mkuzip +./usr/bin/msgs +./usr/bin/mt +./usr/bin/ncal +./usr/bin/ncplist +./usr/bin/ncplogin +./usr/bin/ncplogout +./usr/bin/newgrp +./usr/bin/newkey +./usr/bin/nex +./usr/bin/nfsstat +./usr/bin/nl +./usr/bin/nvi +./usr/bin/nview +./usr/bin/objformat +./usr/bin/opieinfo +./usr/bin/opiekey +./usr/bin/opiepasswd +./usr/bin/otp-md4 +./usr/bin/otp-md5 +./usr/bin/otp-sha +./usr/bin/pagesize +./usr/bin/paste +./usr/bin/pathchk +./usr/bin/pawd +./usr/bin/pftp +./usr/bin/pr +./usr/bin/printenv +./usr/bin/quota +./usr/bin/rcs +./usr/bin/rcsclean +./usr/bin/rcsdiff +./usr/bin/rcsfreeze +./usr/bin/rcsmerge +./usr/bin/read +./usr/bin/ree +./usr/bin/rlog +./usr/bin/rlogin +./usr/bin/rpcgen +./usr/bin/rpcinfo +./usr/bin/rs +./usr/bin/rsh +./usr/bin/rup +./usr/bin/ruptime +./usr/bin/rusers +./usr/bin/rwall +./usr/bin/rwho +./usr/bin/script +./usr/bin/sdiff +./usr/bin/send-pr +./usr/bin/sendbug +./usr/bin/shar +./usr/bin/showmount +./usr/bin/slogin +./usr/bin/smbutil +./usr/bin/split +./usr/bin/tabs +./usr/bin/talk +./usr/bin/tcopy +./usr/bin/tftp +./usr/bin/truncate +./usr/bin/tset +./usr/bin/tsort +./usr/bin/ul +./usr/bin/unalias +./usr/bin/uncompress +./usr/bin/unexpand +./usr/bin/unifdef +./usr/bin/unifdefall +./usr/bin/units +./usr/bin/unvis +./usr/bin/users +./usr/bin/uudecode +./usr/bin/uuencode +./usr/bin/uuidgen +./usr/bin/vgrind +./usr/bin/view +./usr/bin/vis +./usr/bin/wait +./usr/bin/what +./usr/bin/whatis +./usr/bin/whereis +./usr/bin/whois +./usr/bin/window +./usr/bin/write +./usr/bin/xstr +./usr/bin/zcmp +./usr/bin/zdiff +./usr/bin/zegrep +./usr/bin/zfgrep +./usr/bin/zforce +./usr/bin/zgrep +./usr/bin/zless +./usr/bin/zmore +./usr/bin/znew +./usr/games +./usr/lib/*.a +./usr/lib/*.o +./usr/lib/libcalendar.so* +./usr/lib/libcam.so* +./usr/lib/libcom_err.so* +./usr/lib/libdevstat.so* +./usr/lib/libform.so* +./usr/lib/libftpio.so* +./usr/lib/libhistory.so* +./usr/lib/libkiconv.so* +./usr/lib/libmenu.so* +./usr/lib/libmytinfo.so* +./usr/lib/libncp.so* +./usr/lib/libopie.so* +./usr/lib/libpanel.so* +./usr/lib/libpmc.so* +./usr/lib/librpcsvc.so* +./usr/lib/libsmb.so* +./usr/lib/libtacplus.so* +./usr/lib/libtermcap.so* +./usr/lib/libtermlib.so* +./usr/lib/libthr.so* +./usr/lib/libthread_db.so* +./usr/lib/libtinfo.so* +./usr/lib/libugidfw.so* +./usr/lib/libvgl.so* +./usr/lib/pam_* +./usr/libdata +./usr/libexec/bootpd +./usr/libexec/bootpgw +./usr/libexec/comsat +./usr/libexec/fingerd +./usr/libexec/ftp-proxy +./usr/libexec/ftpd +./usr/libexec/locate.bigram +./usr/libexec/locate.code +./usr/libexec/locate.concatdb +./usr/libexec/locate.mklocatedb +./usr/libexec/locate.updatedb +./usr/libexec/lpr +./usr/libexec/lpr/ru +./usr/libexec/lukemftpd +./usr/libexec/makekey +./usr/libexec/makewhatis.local +./usr/libexec/ntalkd +./usr/libexec/phttpget +./usr/libexec/pt_chown +./usr/libexec/rbootd +./usr/libexec/revnetgroup +./usr/libexec/rlogind +./usr/libexec/rpc.rquotad +./usr/libexec/rpc.rstatd +./usr/libexec/rpc.rusersd +./usr/libexec/rpc.rwalld +./usr/libexec/rpc.sprayd +./usr/libexec/rshd +./usr/libexec/sendmail +./usr/libexec/sm.bin +./usr/libexec/tcpd +./usr/libexec/telnetd +./usr/libexec/vfontedpr +./usr/include +./usr/sbin/IPXrouted +./usr/sbin/ac +./usr/sbin/accton +./usr/sbin/acpiconf +./usr/sbin/acpidb +./usr/sbin/acpidump +./usr/sbin/adduser +./usr/sbin/amd +./usr/sbin/amq +./usr/sbin/apm +./usr/sbin/asf +./usr/sbin/bootparamd +./usr/sbin/bootpef +./usr/sbin/bootptest +./usr/sbin/btxld +./usr/sbin/burncd +./usr/sbin/callbootd +./usr/sbin/chkgrp +./usr/sbin/ckdist +./usr/sbin/config +./usr/sbin/ctm +./usr/sbin/ctm_dequeue +./usr/sbin/ctm_rmail +./usr/sbin/ctm_smail +./usr/sbin/cursor +./usr/sbin/dconschat +./usr/sbin/edquota +./usr/sbin/extattrctl +./usr/sbin/fdcontrol +./usr/sbin/fdformat +./usr/sbin/fdread +./usr/sbin/fdwrite +./usr/sbin/fixmount +./usr/sbin/flowctl +./usr/sbin/fontedit +./usr/sbin/fsinfo +./usr/sbin/fwcontrol +./usr/sbin/getfmac +./usr/sbin/getpmac +./usr/sbin/gstat +./usr/sbin/hlfsd +./usr/sbin/iasl +./usr/sbin/idprio +./usr/sbin/kcon +./usr/sbin/keyserv +./usr/sbin/kgmon +./usr/sbin/kgzip +./usr/sbin/lastlogin +./usr/sbin/loadfont +./usr/sbin/lptcontrol +./usr/sbin/lsextattr +./usr/sbin/map-mbone +./usr/sbin/memcontrol +./usr/sbin/mergemaster +./usr/sbin/mixer +./usr/sbin/mk-amd-map +./usr/sbin/mld6query +./usr/sbin/mlxcontrol +./usr/sbin/mount_nwfs +./usr/sbin/mount_portalfs +./usr/sbin/mount_smbfs +./usr/sbin/moused +./usr/sbin/mptable +./usr/sbin/mrinfo +./usr/sbin/mrouted +./usr/sbin/mtest +./usr/sbin/mtrace +./usr/sbin/newsyslog +./usr/sbin/pccardc +./usr/sbin/periodic +./usr/sbin/pmccontrol +./usr/sbin/pmcstat +./usr/sbin/pnpinfo +./usr/sbin/portsnap +./usr/sbin/procctl +./usr/sbin/moused +./usr/sbin/quot +./usr/sbin/quotaoff +./usr/sbin/quotaon +./usr/sbin/rarpd +./usr/sbin/raycontrol +./usr/sbin/repquota +./usr/sbin/rip6query +./usr/sbin/rmextattr +./usr/sbin/rmt +./usr/sbin/rmuser +./usr/sbin/route6d +./usr/sbin/rpc.lockd +./usr/sbin/rpc.statd +./usr/sbin/rpc.umntall +./usr/sbin/rrenumd +./usr/sbin/rtprio +./usr/sbin/rwhod +./usr/sbin/sa +./usr/sbin/scon +./usr/sbin/setextattr +./usr/sbin/setfmac +./usr/sbin/setfsmac +./usr/sbin/setpmac +./usr/sbin/sicontrol +./usr/sbin/sliplogin +./usr/sbin/slstat +./usr/sbin/smbmsg +./usr/sbin/sntp +./usr/sbin/spkrtest +./usr/sbin/spray +./usr/sbin/sysinstall +./usr/sbin/tcpdchk +./usr/sbin/tcpdmatch +./usr/sbin/tcpdrop +./usr/sbin/tcpslice +./usr/sbin/timed +./usr/sbin/timedc +./usr/sbin/trpt +./usr/sbin/tzsetup +./usr/sbin/ugidfw +./usr/sbin/vnconfig +./usr/sbin/vt220keys +./usr/sbin/watch +./usr/sbin/wire-test +./usr/sbin/zdump +./usr/sbin/zic +./usr/sbin/zzz +./usr/share/calendar +./usr/share/dict +./usr/share/doc/IPv6 +./usr/share/doc/atm +./usr/share/doc/bind9 +./usr/share/doc/ncurses +./usr/share/doc/ntp +./usr/share/doc/papers +./usr/share/doc/psd +./usr/share/doc/smm +./usr/share/doc/usd +./usr/share/examples +./usr/share/games +./usr/share/groff_font +./usr/share/info +./usr/share/isdn +./usr/share/locale/af_ZA.ISO8859-1 +./usr/share/locale/af_ZA.ISO8859-15 +./usr/share/locale/af_ZA.UTF-8 +./usr/share/locale/am_ET.UTF-8 +./usr/share/locale/be_BY.CP1131 +./usr/share/locale/be_BY.CP1251 +./usr/share/locale/be_BY.ISO8859-5 +./usr/share/locale/be_BY.UTF-8 +./usr/share/locale/bg_BG.CP1251 +./usr/share/locale/bg_BG.UTF-8 +./usr/share/locale/ca_ES.ISO8859-1 +./usr/share/locale/ca_ES.ISO8859-15 +./usr/share/locale/ca_ES.UTF-8 +./usr/share/locale/cs_CZ.ISO8859-2 +./usr/share/locale/cs_CZ.UTF-8 +./usr/share/locale/da_DK.ISO8859-1 +./usr/share/locale/da_DK.ISO8859-15 +./usr/share/locale/da_DK.UTF-8 +./usr/share/locale/de_AT.ISO8859-1 +./usr/share/locale/de_AT.ISO8859-15 +./usr/share/locale/de_AT.UTF-8 +./usr/share/locale/de_CH.ISO8859-1 +./usr/share/locale/de_CH.ISO8859-15 +./usr/share/locale/de_CH.UTF-8 +./usr/share/locale/de_DE.ISO8859-1 +./usr/share/locale/de_DE.ISO8859-15 +./usr/share/locale/de_DE.UTF-8 +./usr/share/locale/el_GR.ISO8859-7 +./usr/share/locale/el_GR.UTF-8 +./usr/share/locale/en_AU.ISO8859-1 +./usr/share/locale/en_AU.ISO8859-15 +./usr/share/locale/en_AU.US-ASCII +./usr/share/locale/en_AU.UTF-8 +./usr/share/locale/en_CA.ISO8859-1 +./usr/share/locale/en_CA.ISO8859-15 +./usr/share/locale/en_CA.US-ASCII +./usr/share/locale/en_CA.UTF-8 +./usr/share/locale/en_GB.ISO8859-1 +./usr/share/locale/en_GB.ISO8859-15 +./usr/share/locale/en_GB.US-ASCII +./usr/share/locale/en_GB.UTF-8 +./usr/share/locale/en_IE.UTF-8 +./usr/share/locale/en_NZ.ISO8859-1 +./usr/share/locale/en_NZ.ISO8859-15 +./usr/share/locale/en_NZ.US-ASCII +./usr/share/locale/en_NZ.UTF-8 +./usr/share/locale/es_ES.ISO8859-1 +./usr/share/locale/es_ES.ISO8859-15 +./usr/share/locale/es_ES.UTF-8 +./usr/share/locale/et_EE.ISO8859-15 +./usr/share/locale/et_EE.UTF-8 +./usr/share/locale/eu_ES.ISO8859-1 +./usr/share/locale/eu_ES.ISO8859-15 +./usr/share/locale/eu_ES.UTF-8 +./usr/share/locale/fi_FI.ISO8859-1 +./usr/share/locale/fi_FI.ISO8859-15 +./usr/share/locale/fi_FI.UTF-8 +./usr/share/locale/fr_BE.ISO8859-1 +./usr/share/locale/fr_BE.ISO8859-15 +./usr/share/locale/fr_BE.UTF-8 +./usr/share/locale/fr_CA.ISO8859-1 +./usr/share/locale/fr_CA.ISO8859-15 +./usr/share/locale/fr_CA.UTF-8 +./usr/share/locale/fr_CH.ISO8859-1 +./usr/share/locale/fr_CH.ISO8859-15 +./usr/share/locale/fr_CH.UTF-8 +./usr/share/locale/fr_FR.ISO8859-1 +./usr/share/locale/fr_FR.ISO8859-15 +./usr/share/locale/fr_FR.UTF-8 +./usr/share/locale/he_IL.UTF-8 +./usr/share/locale/hi_IN.ISCII-DEV +./usr/share/locale/hr_HR.ISO8859-2 +./usr/share/locale/hr_HR.UTF-8 +./usr/share/locale/hu_HU.ISO8859-2 +./usr/share/locale/hu_HU.UTF-8 +./usr/share/locale/hy_AM.ARMSCII-8 +./usr/share/locale/hy_AM.UTF-8 +./usr/share/locale/is_IS.ISO8859-1 +./usr/share/locale/is_IS.ISO8859-15 +./usr/share/locale/is_IS.UTF-8 +./usr/share/locale/it_CH.ISO8859-1 +./usr/share/locale/it_CH.ISO8859-15 +./usr/share/locale/it_CH.UTF-8 +./usr/share/locale/it_IT.ISO8859-1 +./usr/share/locale/it_IT.ISO8859-15 +./usr/share/locale/it_IT.UTF-8 +./usr/share/locale/ja_JP.SJIS +./usr/share/locale/ja_JP.UTF-8 +./usr/share/locale/ja_JP.eucJP +./usr/share/locale/kk_KZ.PT154 +./usr/share/locale/kk_KZ.UTF-8 +./usr/share/locale/ko_KR.CP949 +./usr/share/locale/ko_KR.UTF-8 +./usr/share/locale/ko_KR.eucKR +./usr/share/locale/la_LN.ISO8859-15 +./usr/share/locale/la_LN.ISO8859-4 +./usr/share/locale/lt_LT.ISO8859-13 +./usr/share/locale/lt_LT.ISO8859-4 +./usr/share/locale/lt_LT.UTF-8 +./usr/share/locale/nl_BE.ISO8859-1 +./usr/share/locale/nl_BE.ISO8859-15 +./usr/share/locale/nl_BE.UTF-8 +./usr/share/locale/nl_NL.ISO8859-1 +./usr/share/locale/nl_NL.ISO8859-15 +./usr/share/locale/nl_NL.UTF-8 +./usr/share/locale/no_NO.ISO8859-1 +./usr/share/locale/no_NO.ISO8859-15 +./usr/share/locale/no_NO.UTF-8 +./usr/share/locale/pl_PL.ISO8859-2 +./usr/share/locale/pl_PL.UTF-8 +./usr/share/locale/pt_BR.ISO8859-1 +./usr/share/locale/pt_BR.UTF-8 +./usr/share/locale/pt_PT.ISO8859-1 +./usr/share/locale/pt_PT.ISO8859-15 +./usr/share/locale/pt_PT.UTF-8 +./usr/share/locale/ro_RO.ISO8859-2 +./usr/share/locale/ro_RO.UTF-8 +./usr/share/locale/ru_RU.CP1251 +./usr/share/locale/ru_RU.CP866 +./usr/share/locale/ru_RU.ISO8859-5 +./usr/share/locale/ru_RU.KOI8-R +./usr/share/locale/ru_RU.UTF-8 +./usr/share/locale/sk_SK.ISO8859-2 +./usr/share/locale/sk_SK.UTF-8 +./usr/share/locale/sl_SI.ISO8859-2 +./usr/share/locale/sl_SI.UTF-8 +./usr/share/locale/sr_YU.ISO8859-2 +./usr/share/locale/sr_YU.ISO8859-5 +./usr/share/locale/sr_YU.UTF-8 +./usr/share/locale/sv_SE.ISO8859-1 +./usr/share/locale/sv_SE.ISO8859-15 +./usr/share/locale/sv_SE.UTF-8 +./usr/share/locale/tr_TR.ISO8859-9 +./usr/share/locale/tr_TR.UTF-8 +./usr/share/locale/uk_UA.CP1251 +./usr/share/locale/uk_UA.ISO8859-5 +./usr/share/locale/uk_UA.KOI8-U +./usr/share/locale/uk_UA.UTF-8 +./usr/share/locale/zh_CN.GB18030 +./usr/share/locale/zh_CN.GB2312 +./usr/share/locale/zh_CN.GBK +./usr/share/locale/zh_CN.UTF-8 +./usr/share/locale/zh_CN.eucCN +./usr/share/locale/zh_HK.UTF-8 +./usr/share/locale/zh_HK.Big5HKSCS +./usr/share/locale/zh_TW.Big5 +./usr/share/locale/zh_TW.UTF-8 +./usr/share/me +./usr/share/misc/fonts +./usr/share/misc/pcvtfonts +./usr/share/misc/ascii +./usr/share/misc/birthtoken +./usr/share/misc/bsd-family-tree +./usr/share/misc/eqnchar +./usr/share/misc/flowers +./usr/share/misc/init.ee +./usr/share/misc/iso3166 +./usr/share/misc/iso639 +./usr/share/misc/latin1 +./usr/share/misc/operator +./usr/share/misc/pci_vendors +./usr/share/misc/scsi_modes +./usr/share/misc/usb_hid_usages +./usr/share/misc/mail.help +./usr/share/misc/mail.tildehelp +./usr/share/misc/units.lib +./usr/share/misc/vgrindefs +./usr/share/misc/vgrindefs.db +./usr/share/misc/keycap.pcvt +./usr/share/mk +./usr/share/nls/af_ZA.ISO8859-1 +./usr/share/nls/af_ZA.ISO8859-15 +./usr/share/nls/af_ZA.UTF-8 +./usr/share/nls/am_ET.UTF-8 +./usr/share/nls/be_BY.CP1131 +./usr/share/nls/be_BY.CP1251 +./usr/share/nls/be_BY.ISO8859-5 +./usr/share/nls/be_BY.UTF-8 +./usr/share/nls/bg_BG.CP1251 +./usr/share/nls/bg_BG.UTF-8 +./usr/share/nls/ca_ES.ISO8859-1 +./usr/share/nls/ca_ES.ISO8859-15 +./usr/share/nls/ca_ES.UTF-8 +./usr/share/nls/cs_CZ.ISO8859-2 +./usr/share/nls/cs_CZ.UTF-8 +./usr/share/nls/da_DK.ISO8859-1 +./usr/share/nls/da_DK.ISO8859-15 +./usr/share/nls/da_DK.UTF-8 +./usr/share/nls/de_AT.ISO8859-1 +./usr/share/nls/de_AT.ISO8859-15 +./usr/share/nls/de_AT.UTF-8 +./usr/share/nls/de_CH.ISO8859-1 +./usr/share/nls/de_CH.ISO8859-15 +./usr/share/nls/de_CH.UTF-8 +./usr/share/nls/de_DE.ISO8859-1 +./usr/share/nls/de_DE.ISO8859-15 +./usr/share/nls/de_DE.UTF-8 +./usr/share/nls/el_GR.ISO8859-7 +./usr/share/nls/el_GR.UTF-8 +./usr/share/nls/en_AU.ISO8859-1 +./usr/share/nls/en_AU.ISO8859-15 +./usr/share/nls/en_AU.US-ASCII +./usr/share/nls/en_AU.UTF-8 +./usr/share/nls/en_CA.ISO8859-1 +./usr/share/nls/en_CA.ISO8859-15 +./usr/share/nls/en_CA.US-ASCII +./usr/share/nls/en_CA.UTF-8 +./usr/share/nls/en_GB.ISO8859-1 +./usr/share/nls/en_GB.ISO8859-15 +./usr/share/nls/en_GB.US-ASCII +./usr/share/nls/en_GB.UTF-8 +./usr/share/nls/en_IE.UTF-8 +./usr/share/nls/en_NZ.ISO8859-1 +./usr/share/nls/en_NZ.ISO8859-15 +./usr/share/nls/en_NZ.US-ASCII +./usr/share/nls/en_NZ.UTF-8 +./usr/share/nls/en_US.ISO8859-1 +./usr/share/nls/en_US.ISO8859-15 +./usr/share/nls/en_US.UTF-8 +./usr/share/nls/es_ES.ISO8859-1 +./usr/share/nls/es_ES.ISO8859-15 +./usr/share/nls/es_ES.UTF-8 +./usr/share/nls/et_EE.ISO8859-15 +./usr/share/nls/et_EE.UTF-8 +./usr/share/nls/fi_FI.ISO8859-1 +./usr/share/nls/fi_FI.ISO8859-15 +./usr/share/nls/fi_FI.UTF-8 +./usr/share/nls/fr_BE.ISO8859-1 +./usr/share/nls/fr_BE.ISO8859-15 +./usr/share/nls/fr_BE.UTF-8 +./usr/share/nls/fr_CA.ISO8859-1 +./usr/share/nls/fr_CA.ISO8859-15 +./usr/share/nls/fr_CA.UTF-8 +./usr/share/nls/fr_CH.ISO8859-1 +./usr/share/nls/fr_CH.ISO8859-15 +./usr/share/nls/fr_CH.UTF-8 +./usr/share/nls/fr_FR.ISO8859-1 +./usr/share/nls/fr_FR.ISO8859-15 +./usr/share/nls/fr_FR.UTF-8 +./usr/share/nls/he_IL.UTF-8 +./usr/share/nls/hi_IN.ISCII-DEV +./usr/share/nls/hr_HR.ISO8859-2 +./usr/share/nls/hr_HR.UTF-8 +./usr/share/nls/hu_HU.ISO8859-2 +./usr/share/nls/hu_HU.UTF-8 +./usr/share/nls/hy_AM.ARMSCII-8 +./usr/share/nls/hy_AM.UTF-8 +./usr/share/nls/is_IS.ISO8859-1 +./usr/share/nls/is_IS.ISO8859-15 +./usr/share/nls/is_IS.UTF-8 +./usr/share/nls/it_CH.ISO8859-1 +./usr/share/nls/it_CH.ISO8859-15 +./usr/share/nls/it_CH.UTF-8 +./usr/share/nls/it_IT.ISO8859-1 +./usr/share/nls/it_IT.ISO8859-15 +./usr/share/nls/it_IT.UTF-8 +./usr/share/nls/ja_JP.SJIS +./usr/share/nls/ja_JP.UTF-8 +./usr/share/nls/ja_JP.eucJP +./usr/share/nls/kk_KZ.PT154 +./usr/share/nls/kk_KZ.UTF-8 +./usr/share/nls/ko_KR.CP949 +./usr/share/nls/ko_KR.UTF-8 +./usr/share/nls/ko_KR.eucKR +./usr/share/nls/la_LN.ISO8859-1 +./usr/share/nls/la_LN.ISO8859-15 +./usr/share/nls/la_LN.ISO8859-2 +./usr/share/nls/la_LN.ISO8859-4 +./usr/share/nls/la_LN.US-ASCII +./usr/share/nls/lt_LT.ISO8859-13 +./usr/share/nls/lt_LT.ISO8859-4 +./usr/share/nls/lt_LT.UTF-8 +./usr/share/nls/nl_BE.ISO8859-1 +./usr/share/nls/nl_BE.ISO8859-15 +./usr/share/nls/nl_BE.UTF-8 +./usr/share/nls/nl_NL.ISO8859-1 +./usr/share/nls/nl_NL.ISO8859-15 +./usr/share/nls/nl_NL.UTF-8 +./usr/share/nls/no_NO.ISO8859-1 +./usr/share/nls/no_NO.ISO8859-15 +./usr/share/nls/no_NO.UTF-8 +./usr/share/nls/pl_PL.ISO8859-2 +./usr/share/nls/pl_PL.UTF-8 +./usr/share/nls/pt_BR.ISO8859-1 +./usr/share/nls/pt_BR.UTF-8 +./usr/share/nls/pt_PT.ISO8859-1 +./usr/share/nls/pt_PT.ISO8859-15 +./usr/share/nls/pt_PT.UTF-8 +./usr/share/nls/ro_RO.ISO8859-2 +./usr/share/nls/ro_RO.UTF-8 +./usr/share/nls/ru_RU.CP1251 +./usr/share/nls/ru_RU.CP866 +./usr/share/nls/ru_RU.ISO8859-5 +./usr/share/nls/ru_RU.KOI8-R +./usr/share/nls/ru_RU.UTF-8 +./usr/share/nls/sk_SK.ISO8859-2 +./usr/share/nls/sk_SK.UTF-8 +./usr/share/nls/sl_SI.ISO8859-2 +./usr/share/nls/sl_SI.UTF-8 +./usr/share/nls/sr_YU.ISO8859-2 +./usr/share/nls/sr_YU.ISO8859-5 +./usr/share/nls/sr_YU.UTF-8 +./usr/share/nls/sv_SE.ISO8859-1 +./usr/share/nls/sv_SE.ISO8859-15 +./usr/share/nls/sv_SE.UTF-8 +./usr/share/nls/tr_TR.ISO8859-9 +./usr/share/nls/tr_TR.UTF-8 +./usr/share/nls/uk_UA.ISO8859-5 +./usr/share/nls/uk_UA.KOI8-U +./usr/share/nls/uk_UA.UTF-8 +./usr/share/nls/zh_CN.GB18030 +./usr/share/nls/zh_CN.GB2312 +./usr/share/nls/zh_CN.GBK +./usr/share/nls/zh_CN.UTF-8 +./usr/share/nls/zh_CN.eucCN +./usr/share/nls/zh_HK.Big5HKSCS +./usr/share/nls/zh_HK.UTF-8 +./usr/share/nls/zh_TW.Big5 +./usr/share/nls/zh_TW.UTF-8 +./usr/share/openssl +./usr/share/pcvt +./usr/share/security +./usr/share/sendmail +./usr/share/skel +./usr/share/tabset +./usr/share/tmac +./usr/share/vi/catalog/dutch +./usr/share/vi/catalog/english +./usr/share/vi/catalog/french +./usr/share/vi/catalog/german +./usr/share/vi/catalog/polish +./usr/share/vi/catalog/ru_RU.KOI8-R +./usr/share/vi/catalog/spanish +./usr/share/vi/catalog/swedish +./usr/share/vi/catalog/uk_UA.KOI8-U +./usr/share/vi/catalog/nl_NL.ISO8859-1 +./usr/share/vi/catalog/nl_NL.ISO8859-15 +./usr/share/vi/catalog/en_AU.ISO8859-1 +./usr/share/vi/catalog/en_AU.ISO8859-15 +./usr/share/vi/catalog/en_AU.US-ASCII +./usr/share/vi/catalog/en_CA.ISO8859-1 +./usr/share/vi/catalog/en_CA.ISO8859-15 +./usr/share/vi/catalog/en_CA.US-ASCII +./usr/share/vi/catalog/en_GB.ISO8859-1 +./usr/share/vi/catalog/en_GB.ISO8859-15 +./usr/share/vi/catalog/en_GB.US-ASCII +./usr/share/vi/catalog/en_NZ.ISO8859-1 +./usr/share/vi/catalog/en_NZ.US-ASCII +./usr/share/vi/catalog/en_NZ.ISO8859-15 +./usr/share/vi/catalog/fr_BE.ISO8859-1 +./usr/share/vi/catalog/fr_BE.ISO8859-15 +./usr/share/vi/catalog/fr_CA.ISO8859-1 +./usr/share/vi/catalog/fr_CA.ISO8859-15 +./usr/share/vi/catalog/fr_CH.ISO8859-1 +./usr/share/vi/catalog/fr_CH.ISO8859-15 +./usr/share/vi/catalog/fr_FR.ISO8859-1 +./usr/share/vi/catalog/fr_FR.ISO8859-15 +./usr/share/vi/catalog/de_AT.ISO8859-1 +./usr/share/vi/catalog/de_AT.ISO8859-15 +./usr/share/vi/catalog/de_CH.ISO8859-1 +./usr/share/vi/catalog/de_CH.ISO8859-15 +./usr/share/vi/catalog/de_DE.ISO8859-1 +./usr/share/vi/catalog/de_DE.ISO8859-15 +./usr/share/vi/catalog/es_ES.ISO8859-1 +./usr/share/vi/catalog/es_ES.ISO8859-15 +./usr/share/vi/catalog/sv_SE.ISO8859-1 +./usr/share/vi/catalog/sv_SE.ISO8859-15 +./usr/share/vi/catalog/pl_PL.ISO8859-2 +./usr/share/zoneinfo/Africa +./usr/share/zoneinfo/America +./usr/share/zoneinfo/America/Argentina +./usr/share/zoneinfo/America/Indiana +./usr/share/zoneinfo/America/Kentucky +./usr/share/zoneinfo/America/North_Dakota +./usr/share/zoneinfo/Antarctica +./usr/share/zoneinfo/Arctic +./usr/share/zoneinfo/Asia +./usr/share/zoneinfo/Atlantic +./usr/share/zoneinfo/Australia +./usr/share/zoneinfo/Etc +./usr/share/zoneinfo/Europe +./usr/share/zoneinfo/Indian +./usr/share/zoneinfo/Pacific +./usr/share/zoneinfo/SystemV +./usr/src +./sys +./usr/local/www/index.html +./usr/local/www/dfuife.cgi +./usr/local/www/fred.png diff --git a/conf/src/src.conf.10 b/conf/src/src.conf.10 new file mode 100644 index 0000000..ba74641 --- /dev/null +++ b/conf/src/src.conf.10 @@ -0,0 +1,90 @@ +MALLOC_PRODUCTION=yes +WITHOUT_ATM=YES +WITHOUT_AUDIT=YES +WITHOUT_AUTHPF=YES +WITHOUT_BIND=YES +WITHOUT_BIND_DNSSEC=YES +WITHOUT_BIND_ETC=YES +WITHOUT_BIND_LIBS_LWRES=YES +WITHOUT_BIND_MTREE=YES +WITHOUT_BIND_NAMED=YES +WITHOUT_BIND_UTILS=YES +WITHOUT_BLUETOOTH=YES +WITHOUT_CALENDAR=YES +WITHOUT_CDDL=YES +WITH_CLANG=YES +WITH_CLANG_IS_CC=YES +WITHOUT_CLANG_FULL=YES +NO_CTF=YES +WITHOUT_CVS=YES +WITHOUT_DICT=YES +WITHOUT_FORTRAN=YES +WITHOUT_EXAMPLES=YES +WITHOUT_GAMES=YES +WITHOUT_GCOV=YES +WITHOUT_GDB=YES +WITHOUT_GPIB=YES +WITHOUT_HESIOD_LIBC=YES +WITHOUT_HTML=YES +WITHOUT_I4B=YES +#WITHOUT_CXX=YES +WITHOUT_INFO=YES +WITHOUT_IPFILTER=YES +WITHOUT_IPX=YES +WITHOUT_KERBEROS=YES +WITHOUT_LOCALES=YES +WITHOUT_LPR=YES +WITHOUT_MAILWRAPPER=YES +WITHOUT_MAIL=YES +WITHOUT_MAN=YES +WITHOUT_MODULES=YES +WITHOUT_NCP=YES +WITHOUT_NIS=YES +WITHOUT_NLS=YES +WITHOUT_NLS_CATALOGS=YES +WITHOUT_NS_CACHING=YES +WITHOUT_OBJC=YES +WITHOUT_P1003_1B=YES +WITHOUT_PROFILE=YES +WITHOUT_RCMDS=YES +WITHOUT_RCS=YES +WITHOUT_VINUM=YES +WITHOUT_RCMDS=YES +WITHOUT_SENDMAIL=YES +WITHOUT_SETUID_LOGIN=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_RESCUE=YES +WITHOUT_LIB32=YES +WITHOUT_DEBUG_FILES=yes +WITHOUT_OFED=yes +WITHOUT_RESCUE=yes +WITHOUT_ATF=yes +WITHOUT_PC_SYSINSTALL=yes +WITHOUT_SYSINSTALL=yes +WITHOUT_RCS=yes +WITHOUT_RCMDS=yes +WITHOUT_PORTSNAP=yes +IPFIREWALL_DEFAULT_TO_ACCEPT=yes +IP6FIREWALL_DEFAULT_TO_ACCEPT=yes +WITHOUT_ASSERT_DEBUG=YES +HOSTAPD_CFLAGS+=-DEAP_SERVER -DEAP_GTC -DEAP_AKA -DEAP_SIM -DEAP_GPSK +HOSTAPD_CFLAGS+=-DEAP_PAX -DEAP_SAKE -DCONFIG_RSN_PREAUTH +HOSTAPD_CONFIG_RSN_PREAUTH=YES +#WITH_OPENSSL=YES +WITH_OPENSSL_PORT=yes +MWL_DEBUG=YES +LOADER_ZFS_SUPPORT=YES +WITH_ZFS=YES +WITHOUT_NTP=YES +WITHOUT_INFO=YES +WITHOUT_SVN=YES +WITHOUT_SVNLITE=YES +WITHOUT_MAN_UTILS=YES +WITHOUT_LOCATE=YES +WITHOUT_QUOTAS=YES +WITHOUT_FREEBSD_UPDATE=YES +WITHOUT_NS_CACHING=YES +WITHOUT_GROFF=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_SYSCONS=YES +WITHOUT_NS_CACHING=YES diff --git a/conf/src/src.conf.10.install b/conf/src/src.conf.10.install new file mode 100644 index 0000000..c6cd516 --- /dev/null +++ b/conf/src/src.conf.10.install @@ -0,0 +1,85 @@ +MALLOC_PRODUCTION=yes +WITHOUT_ATM=YES +WITHOUT_AUDIT=YES +WITHOUT_AUTHPF=YES +WITHOUT_BIND=YES +WITHOUT_BIND_DNSSEC=YES +WITHOUT_BIND_ETC=YES +WITHOUT_BIND_LIBS_LWRES=YES +WITHOUT_BIND_MTREE=YES +WITHOUT_BIND_NAMED=YES +WITHOUT_BIND_UTILS=YES +WITHOUT_BLUETOOTH=YES +WITHOUT_CALENDAR=YES +WITHOUT_CDDL=YES +WITH_CLANG=YES +WITH_CLANG_IS_CC=YES +WITHOUT_CLANG_FULL=YES +NO_CTF=YES +WITHOUT_CVS=YES +WITHOUT_DICT=YES +WITHOUT_FORTRAN=YES +WITHOUT_EXAMPLES=YES +WITHOUT_GAMES=YES +WITHOUT_GCOV=YES +WITHOUT_GDB=YES +WITHOUT_GPIB=YES +WITHOUT_HESIOD_LIBC=YES +WITHOUT_HTML=YES +WITHOUT_I4B=YES +#WITHOUT_CXX=YES +WITHOUT_INFO=YES +WITHOUT_IPFILTER=YES +WITHOUT_IPX=YES +WITHOUT_KERBEROS=YES +WITHOUT_LOCALES=YES +WITHOUT_LPR=YES +WITHOUT_MAILWRAPPER=YES +WITHOUT_MAIL=YES +WITHOUT_MAN=YES +WITHOUT_MODULES=YES +WITHOUT_NCP=YES +WITHOUT_NIS=YES +WITHOUT_NLS=YES +WITHOUT_NLS_CATALOGS=YES +WITHOUT_NS_CACHING=YES +WITHOUT_OBJC=YES +WITHOUT_P1003_1B=YES +WITHOUT_PROFILE=YES +WITHOUT_RCMDS=YES +WITHOUT_RCS=YES +WITHOUT_VINUM=YES +WITHOUT_RCMDS=YES +WITHOUT_SENDMAIL=YES +WITHOUT_SETUID_LOGIN=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_RESCUE=YES +WITHOUT_LIB32=YES +WITHOUT_DEBUG_FILES=yes +WITHOUT_OFED=yes +WITHOUT_RESCUE=yes +WITHOUT_ATF=yes +WITHOUT_PC_SYSINSTALL=yes +WITHOUT_RCS=yes +WITHOUT_RCMDS=yes +WITHOUT_PORTSNAP=yes +WITHOUT_SYSINSTALL=yes +IPFIREWALL_DEFAULT_TO_ACCEPT=yes +IP6FIREWALL_DEFAULT_TO_ACCEPT=yes +WITHOUT_ASSERT_DEBUG=YES +WITHOUT_TOOLCHAIN=YES +LOADER_ZFS_SUPPORT=YES +WITH_ZFS=YES +WITHOUT_NTP=YES +WITHOUT_INFO=YES +WITHOUT_SVN=YES +WITHOUT_SVNLITE=YES +WITHOUT_MAN_UTILS=YES +WITHOUT_LOCATE=YES +WITHOUT_QUOTAS=YES +WITHOUT_FREEBSD_UPDATE=YES +WITHOUT_NS_CACHING=YES +WITHOUT_GROFF=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_SYSCONS=YES +WITHOUT_NS_CACHING=YES diff --git a/conf/src/src.conf.embedded.10 b/conf/src/src.conf.embedded.10 new file mode 100644 index 0000000..d2bcbd7 --- /dev/null +++ b/conf/src/src.conf.embedded.10 @@ -0,0 +1,87 @@ +MALLOC_PRODUCTION=yes +WITHOUT_ATM=YES +WITHOUT_AUDIT=YES +WITHOUT_AUTHPF=YES +WITHOUT_BIND=YES +WITHOUT_BIND_DNSSEC=YES +WITHOUT_BIND_ETC=YES +WITHOUT_BIND_LIBS_LWRES=YES +WITHOUT_BIND_MTREE=YES +WITHOUT_BIND_NAMED=YES +WITHOUT_BIND_UTILS=YES +WITHOUT_BLUETOOTH=YES +WITHOUT_CALENDAR=YES +WITHOUT_CDDL=YES +WITH_CLANG=YES +WITH_CLANG_IS_CC=YES +WITHOUT_CLANG_FULL=YES +NO_CTF=YES +WITHOUT_CVS=YES +WITHOUT_DICT=YES +WITHOUT_FORTRAN=YES +WITHOUT_EXAMPLES=YES +WITHOUT_GAMES=YES +WITHOUT_GCOV=YES +WITHOUT_GDB=YES +WITHOUT_GPIB=YES +WITHOUT_HESIOD_LIBC=YES +WITHOUT_HTML=YES +WITHOUT_I4B=YES +#WITHOUT_CXX=YES +WITHOUT_INFO=YES +WITHOUT_IPFILTER=YES +WITHOUT_IPX=YES +WITHOUT_KERBEROS=YES +WITHOUT_LOCALES=YES +WITHOUT_LPR=YES +WITHOUT_MAILWRAPPER=YES +WITHOUT_MAIL=YES +WITHOUT_MAN=YES +WITHOUT_MODULES=YES +WITHOUT_NCP=YES +WITHOUT_NIS=YES +WITHOUT_NLS=YES +WITHOUT_NLS_CATALOGS=YES +WITHOUT_NS_CACHING=YES +WITHOUT_OBJC=YES +WITHOUT_P1003_1B=YES +WITHOUT_PROFILE=YES +WITHOUT_RCMDS=YES +WITHOUT_RCS=YES +WITHOUT_VINUM=YES +WITHOUT_RCMDS=YES +WITHOUT_SENDMAIL=YES +WITHOUT_SETUID_LOGIN=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_RESCUE=YES +WITHOUT_LIB32=YES +WITHOUT_DEBUG_FILES=yes +WITHOUT_OFED=yes +WITHOUT_RESCUE=yes +WITHOUT_ATF=yes +WITHOUT_PC_SYSINSTALL=yes +WITHOUT_SYSINSTALL=yes +WITHOUT_RCS=yes +WITHOUT_RCMDS=yes +WITHOUT_PORTSNAP=yes +IPFIREWALL_DEFAULT_TO_ACCEPT=yes +IP6FIREWALL_DEFAULT_TO_ACCEPT=yes +WITHOUT_ZFS=YES +WITHOUT_ASSERT_DEBUG=YES +HOSTAPD_CFLAGS+=-DEAP_SERVER -DEAP_GTC -DEAP_AKA -DEAP_SIM -DEAP_GPSK +HOSTAPD_CFLAGS+=-DEAP_PAX -DEAP_SAKE -DCONFIG_RSN_PREAUTH +HOSTAPD_CONFIG_RSN_PREAUTH=YES +#WITH_OPENSSL=YES +WITHOUT_NTP=YES +WITHOUT_INFO=YES +WITHOUT_SVN=YES +WITHOUT_SVNLITE=YES +WITHOUT_MAN_UTILS=YES +WITHOUT_LOCATE=YES +WITHOUT_QUOTAS=YES +WITHOUT_FREEBSD_UPDATE=YES +WITHOUT_NS_CACHING=YES +WITHOUT_GROFF=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_SYSCONS=YES +WITHOUT_NS_CACHING=YES diff --git a/conf/src/src.conf.embedded.10.install b/conf/src/src.conf.embedded.10.install new file mode 100644 index 0000000..5224fb0 --- /dev/null +++ b/conf/src/src.conf.embedded.10.install @@ -0,0 +1,85 @@ +MALLOC_PRODUCTION=yes +WITHOUT_ATM=YES +WITHOUT_AUDIT=YES +WITHOUT_AUTHPF=YES +WITHOUT_BIND=YES +WITHOUT_BIND_DNSSEC=YES +WITHOUT_BIND_ETC=YES +WITHOUT_BIND_LIBS_LWRES=YES +WITHOUT_BIND_MTREE=YES +WITHOUT_BIND_NAMED=YES +WITHOUT_BIND_UTILS=YES +WITHOUT_BLUETOOTH=YES +WITHOUT_CALENDAR=YES +WITHOUT_CDDL=YES +WITH_CLANG=YES +WITH_CLANG_IS_CC=YES +WITHOUT_CLANG_FULL=YES +NO_CTF=YES +WITHOUT_CVS=YES +WITHOUT_DICT=YES +WITHOUT_FORTRAN=YES +WITHOUT_EXAMPLES=YES +WITHOUT_GAMES=YES +WITHOUT_GCOV=YES +WITHOUT_GDB=YES +WITHOUT_GPIB=YES +WITHOUT_HESIOD_LIBC=YES +WITHOUT_HTML=YES +WITHOUT_I4B=YES +#WITHOUT_CXX=YES +WITHOUT_INFO=YES +WITHOUT_IPFILTER=YES +WITHOUT_IPX=YES +WITHOUT_KERBEROS=YES +WITHOUT_LOCALES=YES +WITHOUT_LPR=YES +WITHOUT_MAILWRAPPER=YES +WITHOUT_MAIL=YES +WITHOUT_MAN=YES +WITHOUT_MODULES=YES +WITHOUT_NCP=YES +WITHOUT_NIS=YES +WITHOUT_NLS=YES +WITHOUT_NLS_CATALOGS=YES +WITHOUT_NS_CACHING=YES +WITHOUT_OBJC=YES +WITHOUT_P1003_1B=YES +WITHOUT_PROFILE=YES +WITHOUT_RCMDS=YES +WITHOUT_RCS=YES +WITHOUT_VINUM=YES +WITHOUT_RCMDS=YES +WITHOUT_SENDMAIL=YES +WITHOUT_SETUID_LOGIN=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_RESCUE=YES +WITHOUT_LIB32=YES +WITHOUT_DEBUG_FILES=yes +WITHOUT_OFED=yes +WITHOUT_RESCUE=yes +WITHOUT_ATF=yes +WITHOUT_PC_SYSINSTALL=yes +WITHOUT_SYSINSTALL=yes +WITHOUT_RCS=yes +WITHOUT_RCMDS=yes +WITHOUT_PORTSNAP=yes +IPFIREWALL_DEFAULT_TO_ACCEPT=yes +IP6FIREWALL_DEFAULT_TO_ACCEPT=yes +WITHOUT_ZFS=YES +WITHOUT_ASSERT_DEBUG=YES +#WITH_OPENSSL=YES +WITHOUT_NTP=YES +WITHOUT_INFO=YES +WITHOUT_SVN=YES +WITHOUT_SVNLITE=YES +WITHOUT_MAN_UTILS=YES +WITHOUT_LOCATE=YES +WITHOUT_QUOTAS=YES +WITHOUT_FREEBSD_UPDATE=YES +WITHOUT_NS_CACHING=YES +WITHOUT_GROFF=YES +WITHOUT_TOOLCHAIN=YES +WITHOUT_SHAREDOCS=YES +WITHOUT_SYSCONS=YES +WITHOUT_NS_CACHING=YES diff --git a/freesbie2/COPYING b/freesbie2/COPYING new file mode 100755 index 0000000..0a46eb8 --- /dev/null +++ b/freesbie2/COPYING @@ -0,0 +1,28 @@ +/*- + * Copyright (c) 2005-2008 FreeSBIE Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + * $Id: COPYING,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + */ diff --git a/freesbie2/Makefile b/freesbie2/Makefile new file mode 100755 index 0000000..ec4faa1 --- /dev/null +++ b/freesbie2/Makefile @@ -0,0 +1,161 @@ +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: Makefile,v 1.3 2008/05/05 20:51:04 sullrich Exp $ +# +# FreeSBIE makefile. Main targets are: +# +# iso: build an iso image +# img: build a loopback image +# flash: copy the built system on a device (interactive) +# freesbie: same of `iso' +# +# pkgselect: choose packages to include in the built system (interactive) + +.if defined(MAKEOBJDIRPREFIX) +CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR} +.elif defined(MAKEOBJDIR) +CANONICALOBJDIR:=${MAKEOBJDIR} +.else +CANONICALOBJDIR:=/usr/obj${.CURDIR} +.endif + +.if defined(CUSTOM_MAKEOBJDIRPREFIX) +PRE_LAUNCH=env MAKEOBJDIRPREFIX=${CUSTOM_MAKEOBJDIRPREFIX} +.endif + +.if ${FREEBSD_VERSION} < 9 +pkgtarget=pkginstall +.else +pkgtarget=pkgnginstall +.endif + +all: freesbie + +freesbie: iso + +pkgselect: obj + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} pkgselect + +obj: .done_objdir +.done_objdir: + @if ! test -d ${CANONICALOBJDIR}/; then \ + mkdir -p ${CANONICALOBJDIR}; \ + if ! test -d ${CANONICALOBJDIR}/; then \ + ${ECHO} ">>> Unable to create ${CANONICALOBJDIR}."; \ + exit 1; \ + fi; \ + fi + @${ECHO} ">>> Setting CANONICALOBJDIR to ${CANONICALOBJDIR}." + @if ! test -f ${CANONICALOBJDIR}/.done_objdir; then \ + touch ${CANONICALOBJDIR}/.done_objdir; \ + fi + +buildworld: .done_buildworld +.done_buildworld: .done_objdir + @-rm -f ${CANONICALOBJDIR}/.tmp_buildworld + @touch ${CANONICALOBJDIR}/.tmp_buildworld + @${ECHO} ">>> Starting buildworld `LC_ALL=C date`." + @${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} buildworld ${CANONICALOBJDIR}/.tmp_buildworld + @${ECHO} ">>> Finished buildworld `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_buildworld ${CANONICALOBJDIR}/.done_buildworld + +installworld: .done_installworld +.done_installworld: .done_buildworld + @-rm -f ${CANONICALOBJDIR}/.tmp_installworld + @touch ${CANONICALOBJDIR}/.tmp_installworld + @${ECHO} ">>> Starting installworld `LC_ALL=C date`." + @${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} installworld ${CANONICALOBJDIR}/.tmp_installworld + @${ECHO} ">>> Finished installworld `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_installworld ${CANONICALOBJDIR}/.done_installworld + +buildkernel: .done_buildkernel +.done_buildkernel: .done_buildworld + @-rm -f ${CANONICALOBJDIR}/.tmp_buildkernel + @touch ${CANONICALOBJDIR}/.tmp_buildkernel + @${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} buildkernel ${CANONICALOBJDIR}/.tmp_buildkernel + @mv ${CANONICALOBJDIR}/.tmp_buildkernel ${CANONICALOBJDIR}/.done_buildkernel + +installkernel: .done_installkernel +.done_installkernel: .done_buildkernel .done_installworld + @-rm -f ${CANONICALOBJDIR}/.tmp_installkernel + @touch ${CANONICALOBJDIR}/.tmp_installkernel + @${PRE_LAUNCH} sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} installkernel ${CANONICALOBJDIR}/.tmp_installkernel + @mv ${CANONICALOBJDIR}/.tmp_installkernel ${CANONICALOBJDIR}/.done_installkernel + +pkginstall: .done_pkginstall +.done_pkginstall: .done_installworld + @-rm -f ${CANONICALOBJDIR}/.tmp_pkginstall + @touch ${CANONICALOBJDIR}/.tmp_pkginstall + @${ECHO} ">>> Started pkginstall `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} pkginstall ${CANONICALOBJDIR}/.tmp_pkginstall + @${ECHO} ">>> Finished pkginstall `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_pkginstall ${CANONICALOBJDIR}/.done_pkginstall + +pkgnginstall: .done_pkgnginstall +.done_pkgnginstall: .done_installworld + @-rm -f ${CANONICALOBJDIR}/.tmp_pkgnginstall + @touch ${CANONICALOBJDIR}/.tmp_pkgnginstall + @${ECHO} ">>> Started pkgnginstall `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} pkgnginstall ${CANONICALOBJDIR}/.tmp_pkgnginstall + @${ECHO} ">>> Finished pkgnginstall `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_pkgnginstall ${CANONICALOBJDIR}/.done_pkgnginstall + +extra: .done_extra +.done_extra: .done_installworld + @-rm -f ${CANONICALOBJDIR}/.tmp_extra + @touch ${CANONICALOBJDIR}/.tmp_extra + @${ECHO} ">>> Started extra `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} extra ${CANONICALOBJDIR}/.tmp_extra + @${ECHO} ">>> Finished extra `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_extra ${CANONICALOBJDIR}/.done_extra + +clonefs: .done_clonefs +.done_clonefs: ${pkgtarget} .done_extra + @-rm -f ${CANONICALOBJDIR}/.tmp_clonefs + @touch ${CANONICALOBJDIR}/.tmp_clonefs + @${ECHO} ">>> Started clonefs `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} clonefs ${CANONICALOBJDIR}/.tmp_clonefs + @${ECHO} ">>> Finished clonefs `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_clonefs ${CANONICALOBJDIR}/.done_clonefs + +compressfs: + @${ECHO} ">>> Started compressfs `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} compressfs ${CANONICALOBJDIR}/.tmp_extra + @${ECHO} ">>> Finished compressfs `LC_ALL=C date`." + +iso: .done_iso +.done_iso: .done_clonefs + @-rm -f ${CANONICALOBJDIR}/.tmp_iso + @touch ${CANONICALOBJDIR}/.tmp_iso + @${ECHO} ">>> Started iso `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} iso ${CANONICALOBJDIR}/.tmp_iso + @${ECHO} ">>> Finished iso `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_iso ${CANONICALOBJDIR}/.done_iso + +img: .done_img +.done_img: .done_clonefs + @-rm -f ${CANONICALOBJDIR}/.tmp_img + @touch ${CANONICALOBJDIR}/.tmp_img + @${ECHO} ">>> Started img `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} img ${CANONICALOBJDIR}/.tmp_img + @${ECHO} ">>> Finished img `LC_ALL=C date`." + @mv ${CANONICALOBJDIR}/.tmp_img ${CANONICALOBJDIR}/.done_img + +flash: .done_flash +.done_flash: .done_clonefs + @-rm -f ${CANONICALOBJDIR}/.tmp_flash + @${ECHO} ">>> Started flash `LC_ALL=C date`." + @touch ${CANONICALOBJDIR}/.tmp_flash + @${ECHO} ">>> Finished flash `LC_ALL=C date`." + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} flash ${CANONICALOBJDIR}/.tmp_flash + @mv ${CANONICALOBJDIR}/.tmp_flash ${CANONICALOBJDIR}/.done_flash + +clean: + @-rm -f .tmp* .done* > /dev/null 2>&1 + +cleandir: clean + @sh ${.CURDIR}/scripts/launch.sh ${.CURDIR} cleandir diff --git a/freesbie2/README b/freesbie2/README new file mode 100755 index 0000000..9cea4af --- /dev/null +++ b/freesbie2/README @@ -0,0 +1,3 @@ +This is a customized version of FreeSBIE originally +customized to pfSense by Dario Freni now maintained +as part of pfSense. diff --git a/freesbie2/conf/amd64/FREESBIE b/freesbie2/conf/amd64/FREESBIE new file mode 100755 index 0000000..2cb0ef5 --- /dev/null +++ b/freesbie2/conf/amd64/FREESBIE @@ -0,0 +1,307 @@ + # $FreeBSD$ +# $Id: FREESBIE,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +machine amd64 +cpu HAMMER +ident FREESBIE + +# To statically compile in device wiring instead of /boot/device.hints +#hints "GENERIC.hints" # Default places to look for devices. + +options SCHED_ULE # ULE scheduler +#options SCHED_4BSD # 4BSD scheduler +options PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options SCTP # Stream Control Transmission Protocol +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options MD_ROOT # MD is a potential root device +options NFSCLIENT # Network Filesystem Client +options NFSSERVER # Network Filesystem Server +options NFS_ROOT # NFS usable as /, requires NFSCLIENT +options NTFS # NT Filesystem +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options GEOM_PART_GPT # GUID Partition Tables. +options GEOM_LABEL # Provides labelization +options COMPAT_43TTY # Needed by COMPAT_LINUX32 +options COMPAT_IA32 # Compatible with i386 binaries +options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options STACK # stack(9) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options STOP_NMI # Stop CPUS using NMI instead of IPI +options UNIONFS # Union filesystem +options TMPFS # efficient memory filesystem + +# Workarounds for some known-to-be-broken chipsets (nVidia nForce3-Pro150) +device atpic # 8259A compatability + +# Enabling NO_MIXED_MODE gives a performance improvement on some motherboards +# but does not work with some boards (mostly nVidia chipset based). +#options NO_MIXED_MODE # Don't penalize working chipsets + +# SMP kernel +options SMP # Symmetric MultiProcessor Kernel + +# CPU frequency control +device cpufreq + +# Bus supports +device acpi +device pci + +# Floppy drives +device fdc + +# ATA and ATAPI devices +device ata +device atadisk # ATA disk drives +device ataraid # ATA RAID drives +device atapicd # ATAPI CDROM drives +device atapifd # ATAPI floppy drives +device atapist # ATAPI tape drives +options ATA_STATIC_ID # Static device numbering + +# SCSI Controllers +device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. +device ahd # AHA39320/29320 and onboard AIC79xx devices +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver. +device amd # AMD 53C974 (Tekram DC-390(T)) +device hptiop # Highpoint RocketRaid 3xxx series +device isp # Qlogic family +#device ispfw # Firmware for QLogic HBAs- normally a module +device mpt # LSI-Logic MPT-Fusion +#device ncr # NCR/Symbios Logic +device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') +device trm # Tekram DC395U/UW/F DC315U adapters + +device adv # Advansys SCSI adapters +device adw # Advansys wide SCSI adapters +device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. +device bt # Buslogic/Mylex MultiMaster SCSI adapters + + +# SCSI peripherals +device scbus # SCSI bus (required for SCSI) +device ch # SCSI media changers +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct SCSI access) +device ses # SCSI Environmental Services (and SAF-TE) + +# RAID controllers interfaced to the SCSI subsystem +device amr # AMI MegaRAID +device arcmsr # Areca SATA II RAID +device ciss # Compaq Smart RAID 5* +device dpt # DPT Smartcache III, IV - See NOTES for options +device hptmv # Highpoint RocketRAID 182x +device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx +device rr232x # Highpoint RocketRAID 232x +device iir # Intel Integrated RAID +device ips # IBM (Adaptec) ServeRAID +device mly # Mylex AcceleRAID/eXtremeRAID +device twa # 3ware 9000 series PATA/SATA RAID + +# RAID controllers +device aac # Adaptec FSA RAID +device aacp # SCSI passthrough for aac (requires CAM) +device ida # Compaq Smart RAID +device mfi # LSI MegaRAID SAS +device mlx # Mylex DAC960 family +#XXX pointer/int warnings +#device pst # Promise Supertrak SX6000 +device twe # 3ware ATA RAID + +# atkbdc0 controls both the keyboard and the PS/2 mouse +device atkbdc # AT keyboard controller +device atkbd # AT keyboard +device psm # PS/2 mouse + +device kbdmux # keyboard multiplexer + +device vga # VGA video card driver + +device splash # Splash screen and screen saver support + +# syscons is the default console driver, resembling an SCO console +device sc + +device agp # support several AGP chipsets + +# PCCARD (PCMCIA) support +# PCMCIA and cardbus bridge support +device cbb # cardbus (yenta) bridge +device pccard # PC Card (16-bit) bus +device cardbus # CardBus (32-bit) bus + +# Serial (COM) ports +device sio # 8250, 16[45]50 based serial ports +device uart # Generic UART driver + +# Parallel port +device ppc +device ppbus # Parallel port bus (required) +device lpt # Printer +device plip # TCP/IP over parallel +device ppi # Parallel port interface device +#device vpo # Requires scbus and da + +# If you've got a "dumb" serial or parallel PCI card that is +# supported by the puc(4) glue driver, uncomment the following +# line to enable it (connects to the sio and/or ppc drivers): +#device puc + +# PCI Ethernet NICs. +device de # DEC/Intel DC21x4x (``Tulip'') +device em # Intel PRO/1000 adapter Gigabit Ethernet Card +device ixgb # Intel PRO/10GbE Ethernet Card +device txp # 3Com 3cR990 (``Typhoon'') +device vx # 3Com 3c590, 3c595 (``Vortex'') + +# PCI Ethernet NICs that use the common MII bus controller code. +# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! +device miibus # MII bus support +device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet +device bfe # Broadcom BCM440x 10/100 Ethernet +device bge # Broadcom BCM570xx Gigabit Ethernet +device dc # DEC/Intel 21143 and various workalikes +device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device lge # Level 1 LXT1001 gigabit Ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet +device nfe # nVidia nForce MCP on-board Ethernet +device nge # NatSemi DP83820 gigabit Ethernet +#device nve # nVidia nForce MCP on-board Ethernet Networking +device pcn # AMD Am79C97x PCI 10/100(precedence over 'lnc') +device re # RealTek 8139C+/8169/8169S/8110S +device rl # RealTek 8129/8139 +device sf # Adaptec AIC-6915 (``Starfire'') +device sis # Silicon Integrated Systems SiS 900/SiS 7016 +device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet +device ste # Sundance ST201 (D-Link DFE-550TX) +device ti # Alteon Networks Tigon I/II gigabit Ethernet +device tl # Texas Instruments ThunderLAN +device tx # SMC EtherPower II (83c170 ``EPIC'') +device vge # VIA VT612x gigabit Ethernet +device vr # VIA Rhine, Rhine II +device wb # Winbond W89C840F +device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') + +# ISA Ethernet NICs. pccard NICs included. +device cs # Crystal Semiconductor CS89x0 NIC +# 'device ed' requires 'device miibus' +device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards +device ex # Intel EtherExpress Pro/10 and Pro/10+ +device ep # Etherlink III based cards +device fe # Fujitsu MB8696x based cards +device sn # SMC's 9000 series of Ethernet chips +device xe # Xircom pccard Ethernet + +# Wireless NIC cards +device wlan # 802.11 support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_amrr # 802.11 AMRR support +device wlan_amrr # AMRR transmit rate control algorithm +device wlan_scan_ap # 802.11 AP mode scanning +device an # Aironet 4500/4800 802.11 wireless NICs. +device ath # Atheros pci/cardbus NIC's +device ath_hal # Atheros HAL (Hardware Access Layer) +device ath_rate_sample # SampleRate tx rate control for ath +device awi # BayStack 660 and others +device ral # Ralink Technology RT2500 wireless NICs. +device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. + +# Pseudo devices. +device loop # Network loopback +device random # Entropy device +device ether # Ethernet support +device sl # Kernel SLIP +device ppp # Kernel PPP +device tun # Packet tunnel. +device pty # Pseudo-ttys (telnet etc) +device md # Memory "disks" +device gif # IPv6 and IPv4 tunneling +device faith # IPv6-to-IPv4 relaying (translation) +device firmware # firmware assist module + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf # Berkeley packet filter + +# USB support +device uhci # UHCI PCI->USB interface +device ohci # OHCI PCI->USB interface +device ehci # EHCI PCI->USB interface (USB 2.0) +device usb # USB Bus (required) +#device udbp # USB Double Bulk Pipe devices +device ugen # Generic +device uhid # "Human Interface Devices" +device ukbd # Keyboard +device ulpt # Printer +device umass # Disks/Mass storage - Requires scbus and da +device ums # Mouse +device ural # Ralink Technology RT2500USB wireless NICs +device rum # Ralink Technology RT2501USB wireless NICs +device urio # Diamond Rio 500 MP3 player +device uscanner # Scanners +# USB Serial devices +device ucom # Generic com ttys +device uark # Technologies ARK3116 based serial adapters +device ubsa # Belkin F5U103 and compatible serial adapters +device ubser # BWCT console serial adapters +device uftdi # For FTDI usb serial adapters +device uipaq # Some WinCE based devices +device uplcom # Prolific PL-2303 serial adapters +device uvisor # Visor and Palm devices +device uvscom # USB serial support for DDI pocket's PHS +# USB Ethernet, requires miibus +device aue # ADMtek USB Ethernet +device axe # ASIX Electronics USB Ethernet +device cdce # Generic USB over Ethernet +device cue # CATC USB Ethernet +device kue # Kawasaki LSI USB Ethernet +device rue # RealTek RTL8150 USB Ethernet +device udav # Davicom DM9601E USB + +# FireWire support +device firewire # FireWire bus code +device sbp # SCSI over FireWire (Requires scbus and da) +device fwe # Ethernet over FireWire (non-standard!) +device fwip # IP over FireWire (rfc2734 and rfc3146) +device dcons # Dumb console driver +device dcons_crom # Configuration ROM for dcons + +device bktr + +options IPFIREWALL #firewall +options IPFIREWALL_VERBOSE #print information about +options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default + +device pf #PF OpenBSD packet-filter firewall +device pflog #logging support interface for PF +device pfsync #synchronization interface for PF + +options IPSTEALTH +options IPDIVERT + +options GEOM_UZIP # Read-only compressed disks + +options SC_PIXEL_MODE # add support for the raster text mode diff --git a/freesbie2/conf/freesbie.defaults.conf b/freesbie2/conf/freesbie.defaults.conf new file mode 100755 index 0000000..18836b3 --- /dev/null +++ b/freesbie2/conf/freesbie.defaults.conf @@ -0,0 +1,132 @@ +#!/bin/sh +# +# Default configuration file. +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for license terms. +# +# $FreeBSD$ +# $Id: freesbie.defaults.conf,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# +# Don't modify this file, create your own conf/freesbie.conf instead, +# or set an environment variable called FREESBIE_CONF to the absolute +# path of your configuration file. Alternatively, you can set the +# variables you want to override as environment variables. +# +# Hint: when creating your own file, do not copy freesbie.defaults.conf, +# create it anew and override only the variables you need. Pay attention +# not to use the syntax +# BASEDIR=${BASEDIR:-"/foo/bla"} +# otherwise you'll end up using the default value of BASEDIR instead of +# "foo/bla" ! +# Simply write: +# BASEDIR="/foo/bla" + + +# Variables + +# Path where files are installed. +BASEDIR=${BASEDIR:-"/usr/local/freesbie-fs"} + +# Temporary directory used when building images +CLONEDIR=${CLONEDIR:-"/usr/local/freesbie-clone"} + +# Directory with system sources +SRCDIR=${SRCDIR:-"/usr/src"} + +# Path of the built iso, use absolute path +ISOPATH=${ISOPATH:-"/usr/obj/FreeSBIE.iso"} + +# Path of the built image, use absolute path +IMGPATH=${IMGPATH:-"/usr/obj/FreeSBIE.img"} + +# Default parameters for the image, use diskinfo(1) to obtain yours +SECTS=${SECTS:-501760} # Total number of sectors +SECTT=${SECTT:-32} # Sectors/track +HEADS=${HEADS:-16} # Heads + +# +# Optional variables + +# Arguments passed to make(1) when building world and kernel. +# Cannot be an environment variable. +# +#MAKEJ_WORLD=${MAKEJ_WORLD:-"-j3"} +#MAKEJ_KERNEL=${MAKEJ_KERNEL:-"-j1"} + +# Arguments passed to make(1) when building world and kernel. +# Can also be an environment variable. +# +#MAKEOPT="-DNO_CLEAN" + +# Kernel configuration file, with complete path +# +#KERNELCONF=/complete/path/to/MYCUSTOMKERNEL + +# If you want to use a custom make.conf, define it here. Otherwise, +# make.conf or make.conf.minimal under conf/ are used. +# +#SRCCONF=/etc/make.conf + +# The src.conf file contains settings that will apply to every build +# involving the FreeBSD source tree; see build(7) and src.conf(5) +# only for 7.0-CURRENT +SRC_CONF=${SRC_CONF:-"/dev/null"} + +# You can specify which files to add to your system one by one. Just +# put the list in a text file and set the absolute path in FILE_LIST +# variable +# +#FILE_LIST=/my/own/file_list.txt + +# You can specify which files to remove from your built system. Just +# put the list in a text file and set the absolute path in PRUNE_LIST +# variable. Wildcards are also accepted +# +#PRUNE_LIST=/my/own/prune_em_all.txt + +# Set PFSPKGFILE variable to a text file containing a list of packages to +# install in the built system. This file can be either a pkg_info(1) +# like output either a list of packages without version number. Please +# note that this file will be rewritten if you run `make pkgselect' +# +#PFSPKGFILE=/my/own/pkg_info_output.txt + +# Set EXTRA variable to the additional plugins you want to run in your +# system. Please note that plugins are executed in the same order as +# listed in this variable +# +#EXTRA="customroot rootmfs etcmfs" + +# Knobs + +# Define MINIMAL to build a minimal world (i.e.: use +# make.conf.minimal, full of NO_* knobs. +# +#MINIMAL=YES + +# Define NO_BUILDWORLD to avoid rebuilding world. Be sure you know +# what you're doing, you should have an already compiled world +# +#NO_BUILDWORLD=YES + +# Define NO_BUILDKERNEL to avoid rebuilding kernel. Be sure you know +# what you're doing, you should have an already compiled kernel +# +#NO_BUILDKERNEL=YES + +# Define MAKEOBJDIRPREFIX to use an object directory different than /usr/obj. +# Be sure you know what you're doing, it is easy to introduce suble bugs. +# +#MAKEOBJDIRPREFIX=/path/to/obj + +# Define NO_COMPRESSEDFS if you don't want to have compressed fs +# inside the resulting image. +# +#NO_COMPRESSEDFS=YES + +# Define NO_UNIONFS if you want to avoid using unionfs in the built +# system +# +NO_UNIONFS=YES # Unionfs is broken in > 6.0, so disable it by default diff --git a/freesbie2/conf/i386/FREESBIE b/freesbie2/conf/i386/FREESBIE new file mode 100755 index 0000000..b544b4c --- /dev/null +++ b/freesbie2/conf/i386/FREESBIE @@ -0,0 +1,321 @@ + $FreeBSD$ +# $Id: FREESBIE,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +machine i386 +cpu I486_CPU +cpu I586_CPU +cpu I686_CPU +ident FREESBIE + +# To statically compile in device wiring instead of /boot/device.hints +#hints "GENERIC.hints" # Default places to look for devices. + +options SCHED_ULE # ULE scheduler +#options SCHED_4BSD # 4BSD scheduler +options PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options SCTP # Stream Control Transmission Protocol +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options MD_ROOT # MD is a potential root device +options NFSCLIENT # Network Filesystem Client +options NFSSERVER # Network Filesystem Server +options NFS_ROOT # NFS usable as /, requires NFSCLIENT +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options GEOM_PART_GPT # GUID Partition Tables. +options GEOM_LABEL # Provides labelization +options COMPAT_43TTY # Compatible with BSD 4.3 [KEEP THIS!] +options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options STOP_NMI # Stop CPUS using NMI instead of IPI +options UNIONFS # Union filesystem +options TMPFS # efficient memory filesystem + +# To make an SMP kernel, the next two lines are needed +options SMP # Symmetric MultiProcessor Kernel +device apic # I/O APIC + +# CPU frequency control +device cpufreq + +# Bus support. Do not remove isa, even if you have no isa slots +device eisa +device pci + +device firmware +# Floppy drives +device fdc + +# ATA and ATAPI devices +device ata +device atadisk # ATA disk drives +device ataraid # ATA RAID drives +device atapicd # ATAPI CDROM drives +device atapifd # ATAPI floppy drives +device atapist # ATAPI tape drives +options ATA_STATIC_ID # Static device numbering + +# SCSI Controllers +device ahb # EISA AHA1742 family +device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. +device ahd # AHA39320/29320 and onboard AIC79xx devices +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver. +device amd # AMD 53C974 (Tekram DC-390(T)) +device hptiop # Highpoint RocketRaid 3xxx series +device isp # Qlogic family +#device ispfw # Firmware for QLogic HBAs- normally a module +device mpt # LSI-Logic MPT-Fusion +#device ncr # NCR/Symbios Logic +device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') +device trm # Tekram DC395U/UW/F DC315U adapters + +device adv # Advansys SCSI adapters +device adw # Advansys wide SCSI adapters +device aha # Adaptec 154x SCSI adapters +device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. +device bt # Buslogic/Mylex MultiMaster SCSI adapters + +device ncv # NCR 53C500 +device nsp # Workbit Ninja SCSI-3 +device stg # TMC 18C30/18C50 + +# SCSI peripherals +device scbus # SCSI bus (required for SCSI) +device ch # SCSI media changers +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct SCSI access) +device ses # SCSI Environmental Services (and SAF-TE) + +# RAID controllers interfaced to the SCSI subsystem +device amr # AMI MegaRAID +device arcmsr # Areca SATA II RAID +device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID +device ciss # Compaq Smart RAID 5* +device dpt # DPT Smartcache III, IV - See NOTES for options +device hptmv # Highpoint RocketRAID 182x +device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx +device rr232x # Highpoint RocketRAID 232x +device iir # Intel Integrated RAID +device ips # IBM (Adaptec) ServeRAID +device mly # Mylex AcceleRAID/eXtremeRAID +device twa # 3ware 9000 series PATA/SATA RAID + +# RAID controllers +device aac # Adaptec FSA RAID +device aacp # SCSI passthrough for aac (requires CAM) +device ida # Compaq Smart RAID +device mfi # LSI MegaRAID SAS +device mlx # Mylex DAC960 family +device pst # Promise Supertrak SX6000 +device twe # 3ware ATA RAID + +# atkbdc0 controls both the keyboard and the PS/2 mouse +device atkbdc # AT keyboard controller +device atkbd # AT keyboard +device psm # PS/2 mouse + +device vga # VGA video card driver + +device splash # Splash screen and screen saver support + +# syscons is the default console driver, resembling an SCO console +device sc + +device agp # support several AGP chipsets + +# Power management support (see NOTES for more options) +#device apm +# Add suspend/resume support for the i8254. +device pmtimer + +# PCCARD (PCMCIA) support +# PCMCIA and cardbus bridge support +device cbb # cardbus (yenta) bridge +device pccard # PC Card (16-bit) bus +device cardbus # CardBus (32-bit) bus + +# Serial (COM) ports +device sio # 8250, 16[45]50 based serial ports +device uart # Generic UART driver + +# Parallel port +device ppc +device ppbus # Parallel port bus (required) +device lpt # Printer +device plip # TCP/IP over parallel +device ppi # Parallel port interface device +#device vpo # Requires scbus and da + +# If you've got a "dumb" serial or parallel PCI card that is +# supported by the puc(4) glue driver, uncomment the following +# line to enable it (connects to the sio and/or ppc drivers): +#device puc + +# PCI Ethernet NICs. +device de # DEC/Intel DC21x4x (``Tulip'') +device em # Intel PRO/1000 adapter Gigabit Ethernet Card +device ixgb # Intel PRO/10GbE Ethernet Card +device le # AMD Am7900 LANCE and Am79C9xx PCnet +device txp # 3Com 3cR990 (``Typhoon'') +device vx # 3Com 3c590, 3c595 (``Vortex'') + +# PCI Ethernet NICs that use the common MII bus controller code. +# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! +device miibus # MII bus support +device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet +device bfe # Broadcom BCM440x 10/100 Ethernet +device bge # Broadcom BCM570xx Gigabit Ethernet +device dc # DEC/Intel 21143 and various workalikes +device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device lge # Level 1 LXT1001 gigabit Ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet +device nfe # nVidia nForce MCP on-board Ethernet +device nge # NatSemi DP83820 gigabit Ethernet +#device nve # nVidia nForce MCP on-board Ethernet Networking +device pcn # AMD Am79C97x PCI 10/100(precedence over 'lnc') +device re # RealTek 8139C+/8169/8169S/8110S +device rl # RealTek 8129/8139 +device sf # Adaptec AIC-6915 (``Starfire'') +device sis # Silicon Integrated Systems SiS 900/SiS 7016 +device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet +device ste # Sundance ST201 (D-Link DFE-550TX) +device stge # Sundance/Tamarack TC9021 gigabit Ethernet +device ti # Alteon Networks Tigon I/II gigabit Ethernet +device tl # Texas Instruments ThunderLAN +device tx # SMC EtherPower II (83c170 ``EPIC'') +device vge # VIA VT612x gigabit Ethernet +device vr # VIA Rhine, Rhine II +device wb # Winbond W89C840F +device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') + +# ISA Ethernet NICs. pccard NICs included. +device cs # Crystal Semiconductor CS89x0 NIC +# 'device ed' requires 'device miibus' +device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards +device ex # Intel EtherExpress Pro/10 and Pro/10+ +device ep # Etherlink III based cards +device fe # Fujitsu MB8696x based cards +device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. +device sn # SMC's 9000 series of Ethernet chips +device xe # Xircom pccard Ethernet + +# ISA devices that use the old ISA shims +#device le + +# Wireless NIC cards +device wlan # 802.11 support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_amrr # 802.11 support +device wlan_scan_ap # 802.11 AP mode scanning +device wlan_scan_sta # 802.11 STA mode scanning +device an # Aironet 4500/4800 802.11 wireless NICs. +device ath # Atheros pci/cardbus NIC's +device ath_hal # Atheros HAL (Hardware Access Layer) +device ath_rate_sample # SampleRate tx rate control for ath +device awi # BayStack 660 and others +device ral # Ralink Technology RT2500 wireless NICs. +device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +#device wl # Older non 802.11 Wavelan wireless NIC. + +# Pseudo devices. +device loop # Network loopback +device random # Entropy device +device ether # Ethernet support +device sl # Kernel SLIP +device ppp # Kernel PPP +device tun # Packet tunnel. +device pty # Pseudo-ttys (telnet etc) +device md # Memory "disks" +device gif # IPv6 and IPv4 tunneling +device faith # IPv6-to-IPv4 relaying (translation) +device firmware # firmware assist module + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf # Berkeley packet filter + +# USB support +device uhci # UHCI PCI->USB interface +device ohci # OHCI PCI->USB interface +device ehci # EHCI PCI->USB interface (USB 2.0) +device usb # USB Bus (required) +#device udbp # USB Double Bulk Pipe devices +device ugen # Generic +device uhid # "Human Interface Devices" +device ukbd # Keyboard +device ulpt # Printer +device umass # Disks/Mass storage - Requires scbus and da +device ums # Mouse +device ural # Ralink Technology RT2500USB wireless NICs +device rum # Ralink Technology RT2501USB wireless NICs +device zyd # ZyDAS zb1211/zb1211b wireless NICs +device urio # Diamond Rio 500 MP3 player +device uscanner # Scanners +# USB Serial devices +device ucom # Generic com ttys +device uark # Technologies ARK3116 based serial adapters +device ubsa # Belkin F5U103 and compatible serial adapters +device ubser # BWCT console serial adapters +device uftdi # For FTDI usb serial adapters +device uipaq # Some WinCE based devices +device uplcom # Prolific PL-2303 serial adapters +device uvisor # Visor and Palm devices +device uvscom # USB serial support for DDI pocket's PHS +# USB Ethernet, requires miibus +device aue # ADMtek USB Ethernet +device axe # ASIX Electronics USB Ethernet +device cdce # Generic USB over Ethernet +device cue # CATC USB Ethernet +device kue # Kawasaki LSI USB Ethernet +device rue # RealTek RTL8150 USB Ethernet + +# FireWire support +device firewire # FireWire bus code +device sbp # SCSI over FireWire (Requires scbus and da) +device fwe # Ethernet over FireWire (non-standard!) +device fwip # IP over FireWire (rfc2734 and rfc3146) +device dcons # Dumb console driver +device dcons_crom # Configuration ROM for dcons + +device bktr + +device crypto # core crypto support +device cryptodev # /dev/crypto for access to h/w + +options IPFIREWALL #firewall +options IPFIREWALL_VERBOSE #print information about +options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default + +device pf #PF OpenBSD packet-filter firewall +device pflog #logging support interface for PF +device pfsync #synchronization interface for PF + +options IPSTEALTH +options IPDIVERT + +options GEOM_UZIP # Read-only compressed disks + +options VESA +options SC_PIXEL_MODE + diff --git a/freesbie2/conf/make.conf b/freesbie2/conf/make.conf new file mode 100755 index 0000000..36ce91f --- /dev/null +++ b/freesbie2/conf/make.conf @@ -0,0 +1,5 @@ +# $FreeBSD$ +# $Id: make.conf,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +NO_PROFILE=TRUE +INSTALL_NODEBUG=TRUE diff --git a/freesbie2/conf/make.conf.minimal b/freesbie2/conf/make.conf.minimal new file mode 100755 index 0000000..6ed8151 --- /dev/null +++ b/freesbie2/conf/make.conf.minimal @@ -0,0 +1,52 @@ +# $FreeBSD$ +# $Id: make.conf.minimal,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +NO_ACPI=YES +NO_ATM=YES +NO_AUTHPF=YES +NO_BIND=YES +NO_BIND_DNSSEC=YES +NO_BIND_ETC=YES +NO_BIND_LIBS_LWRES=YES +NO_BIND_MTREE=YES +NO_BIND_NAMED=YES +NO_BIND_UTILS=YES +NO_BLUETOOTH=YES +NO_CVS=YES +NO_CXX=YES +NO_DICT=YES +NO_FORTRAN=YES +NO_GAMES=YES +NO_GCOV=YES +NO_GDB=YES +NO_GPIB=YES +NO_HESIOD_LIBC=YES +NO_HTML=YES +NO_I4B=YES +NO_INET6=YES +NO_INFO=YES +NO_IPFILTER=YES +NO_KERBEROS=YES +NO_KLDLOAD=YES +NO_LIBC_R=YES +NO_LIBPTHREAD=YES +NO_LIBTHR=YES +NO_LPR=YES +NO_MAILWRAPPER=YES +NO_MAN=YES +NO_MODULES=YES +NO_NETCAT=YES +NO_NETGRAPH=YES +NO_NIS=YES +NO_OBJC=YES +NO_P1003_1B=YES +NO_PAM=YES +NO_PF=YES +NO_PROFILE=YES +NO_RESCUE=YES +NO_TOOLCHAIN=YES +NO_USB=YES +NO_VINUM=YES +NO_SENDMAIL=YES +NO_SHAREDOCS=YES +PPP_NO_RADIUS=YES \ No newline at end of file diff --git a/freesbie2/conf/powerpc/FREESBIE b/freesbie2/conf/powerpc/FREESBIE new file mode 100755 index 0000000..0104595 --- /dev/null +++ b/freesbie2/conf/powerpc/FREESBIE @@ -0,0 +1,142 @@ +# $FreeBSD$ +# $Id: FREESBIE,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +machine powerpc +cpu OEA +ident FREESBIE + +#To statically compile in device wiring instead of /boot/device.hints +#hints "GENERIC.hints" + +makeoptions WERROR=-Wno-error #XXX: We don't want -Werror just now + +# Platform support +options POWERMAC #NewWorld Apple PowerMacs +options PSIM #GDB PSIM ppc simulator + +#options SCHED_ULE #ULE scheduler +options SCHED_4BSD #4BSD scheduler +options INET #InterNETworking +options INET6 #IPv6 communications protocols +options FFS #Berkeley Fast Filesystem +options SOFTUPDATES #Enable FFS soft updates support +options UFS_ACL #Support for access control lists +options UFS_DIRHASH #Improve performance on big directories +options MD_ROOT #MD is a potential root device +options NFSCLIENT #Network Filesystem Client +options NFSSERVER #Network Filesystem Server +options NFS_ROOT #NFS usable as root device +options MSDOSFS #MSDOS Filesystem +options CD9660 #ISO 9660 Filesystem +options PROCFS #Process filesystem (requires PSEUDOFS) +options PSEUDOFS #Pseudo-filesystem framework +options GEOM_GPT #GUID Partition Tables. +options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] +options COMPAT_FREEBSD4 #Keep this for a while +options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI +options KTRACE #ktrace(1) syscall trace support +options SYSVSHM #SYSV-style shared memory +options SYSVMSG #SYSV-style message queues +options SYSVSEM #SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions + +# To make an SMP kernel, the next line is needed +#options SMP # Symmetric MultiProcessor Kernel + +# Standard busses +device pci + +# ATA and ATAPI devices +device ata +device atadisk # ATA disk drives +device atapicd # ATAPI CDROM drives +#device atapifd # ATAPI floppy drives +#device atapist # ATAPI tape drives + +# SCSI peripherals +device scbus # SCSI bus (required for SCSI) +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct SCSI access) + +# syscons is the default console driver, resembling an SCO console +device sc +options SC_OFWFB # OFW frame buffer +options SC_DFLT_FONT # compile font in +makeoptions SC_DFLT_FONT=cp437 + +# Serial (COM) ports +#device sio # 8250, 16[45]50 based serial ports +device zs # Zilog 8350 based serial ports + +# PCI Ethernet NICs that use the common MII bus controller code. +device miibus # MII bus support +device gem # Sun GEM/Sun ERI/Apple GMAC +device dc # DEC/Intel 21143 and various workalikes +device fxp # Intel EtherExpress PRO/100B (82557, 82558) + +# Pseudo devices. +device loop # Network loopback +device mem # Memory and kernel memory devices +device random # Entropy device +device ether # Ethernet support +device sl # Kernel SLIP +device ppp # Kernel PPP +device tun # Packet tunnel. +device pty # Pseudo-ttys (telnet etc) +device md # Memory "disks" +device ofwd # Open Firmware disks +device gif # IPv6 and IPv4 tunneling +device faith # IPv6-to-IPv4 relaying/(translation) + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf #Berkeley packet filter + +# USB support +device uhci # UHCI PCI->USB interface +device ohci # OHCI PCI->USB interface +device ehci # EHCI PCI->USB interface +device usb # USB Bus (required) +device ugen # Generic +device uhid # "Human Interface Devices" +device ukbd # Keyboard +device ulpt # Printer +device umass # Disks/Mass storage - Requires scbus and da0 +device ums # Mouse +device urio # Diamond Rio 500 MP3 player +device uscanner # Scanners +# USB Ethernet +device aue # ADMtek USB Ethernet +device axe # ASIX Electronics USB Ethernet +device cdce # Generic USB over Ethernet +device cue # CATC USB Ethernet +device kue # Kawasaki LSI USB Ethernet + +# FireWire support +device firewire # FireWire bus code +device sbp # SCSI over FireWire (Requires scbus and da) +device fwe # Ethernet over FireWire (non-standard!) + +options KTR +options KTR_COMPILE=0xffffffff +#options KTR_MASK=KTR_SIG +options KTR_VERBOSE + +options IPFIREWALL #firewall +options IPFIREWALL_VERBOSE #print information about +options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default + +device pf #PF OpenBSD packet-filter firewall +device pflog #logging support interface for PF +device pfsync #synchronization interface for PF + +options IPSTEALTH +options IPDIVERT +options TCP_DROP_SYNFIN #drop TCP packets with SYN+FIN + +options GEOM_UZIP # Read-only compressed disks +options GEOM_LABEL # Providers labelization. + diff --git a/freesbie2/conf/rc.d/unionfs b/freesbie2/conf/rc.d/unionfs new file mode 100755 index 0000000..b52e524 --- /dev/null +++ b/freesbie2/conf/rc.d/unionfs @@ -0,0 +1,40 @@ +#!/bin/sh +# +# $FreeBSD$ +# $Id: unionfs,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# + +# PROVIDE: unionfs +# REQUIRE: disks +# BEFORE: hostid +# KEYWORD: nojail + +. /etc/rc.subr + +name="unionfs" +start_cmd="unionfs_start" +stop_cmd="" + +unionfs_start() { + unionsize="$(($(sysctl -n hw.usermem) / 2))b" + device=$(mdconfig -a -t malloc -s ${unionsize}) + newfs /dev/${device} > /dev/null 2>&1 + mount /dev/${device} /mnt/union + + # TMPFS does not support unionfs yet. + #mount -t tmpfs tmpfs /mnt/union + + # Use TMPFS for /tmp + mount -t tmpfs tmpfs /tmp + + while read uniondir; do + mkdir /mnt/union/${uniondir} + mount_unionfs -o copymode=transparent -o noatime /mnt/union/${uniondir} /${uniondir} + if [ -f /dist/${uniondir}.dirs ]; then + mtree -PU -p /${uniondir} < /dist/${uniondir}.dirs > /dev/null 2>&1 + fi + done < /dist/uniondirs +} + +load_rc_config $name +run_rc_command "$1" diff --git a/freesbie2/conf/rc.d/uzip b/freesbie2/conf/rc.d/uzip new file mode 100755 index 0000000..a69f819 --- /dev/null +++ b/freesbie2/conf/rc.d/uzip @@ -0,0 +1,42 @@ +#!/bin/sh +# +# $FreeBSD$ +# $Id: uzip,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# + +# PROVIDE: uzip +# BEFORE: disks +# KEYWORD: nojail + +. /etc/rc.subr + +name="uzip" +start_cmd="uzip_start" +stop_cmd="uzip_stop" + +uzip_start() { + for loopfs in /uzip/*.uzip; do + if [ -f ${loopfs} ]; then + filename=${loopfs#/uzip/} + mountpoint=/${filename%.uzip} + device=/dev/$(mdconfig -a -t vnode -o readonly -f $loopfs) + sleep 1 + if [ -c ${device} ]; then + mount -r ${device}.uzip ${mountpoint} + fi + fi + done +} + +uzip_stop() { + for mounteddev in /dev/*.uzip; do + if [ -c ${mounteddev} ]; then + device=${mounteddev%.uzip} + umount ${mounteddev} + mdconfig -d -u ${device} + fi + done +} + +load_rc_config $name +run_rc_command "$1" diff --git a/freesbie2/extra/README b/freesbie2/extra/README new file mode 100755 index 0000000..5cbf5b6 --- /dev/null +++ b/freesbie2/extra/README @@ -0,0 +1,59 @@ +$Id: README,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +This directory contains files and subdirectories related to the +plugins'set. Available plugins and a brief description of each +follows. + +adduser Add the user "freesbie" to the LiveCD (username can be + set using the FREESBIE_ADDUSER variable + +autologin Enable autologin for the user "freesbie" + +backup Add support for backup/restore files from a LiveCD + +buildmodules Build modules listed in BUILDMODULES variable. Useful + in minimalenvironments when NO_MODULES is set. + +comconsole Enable serial console at boot in addition to video + console. To use serial console only , the SERIAL_ONLY + variable should be set + +customroot Install file in the customroot/ directory to the live + filesystem. This directory has to be considered as a + / filesystem. Files are just copied to the livefs + directory after every other operation, just before + packing it into the final image. If a file is already + present in the live fs it will be overrided. + +customscripts Run scripts found in the customscripts/ directory in + the livefs chroot, right before the iso is packed. + Useful to do internal operations such as adding users + or editing files in an automatic way. + +etcmfs Add support for a /etc memory filesystem + +installports Remount the ports' tree under ${BASEDIR}/usr/ports + and install ports listed in the INSTALL_PORTS variable + in the usual category/portname + +l10n Set localization. + +mountdisks Mount any UFS, FAT, NTFS slice found + +pf Create basic PF rulesets at bootime + +rootmfs Add support for a /root memory filesystem + +sound Detect soundcard and load the correct kernel module. + +swapfind Find swap partitions and use them. + +varmfs Add support for a /var memory filesystem + +xautostart Start X.org at bootime + +xconfig Autoconfigure X.org at boottime using X.org + autoconfigure features + +xconfig-probe Autoconfigure X.org at bootime using X.org -configure + diff --git a/freesbie2/extra/adduser.sh b/freesbie2/extra/adduser.sh new file mode 100755 index 0000000..5aa9f0b --- /dev/null +++ b/freesbie2/extra/adduser.sh @@ -0,0 +1,69 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: adduser.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +TMPFILE=$(mktemp -t adduser) + +FREESBIE_ADDUSER="${FREESBIE_ADDUSER:-freesbie}" + +# If directory /home exists, move it to /usr/home and do a symlink +if [ ! -L ${BASEDIR}/home -a -d ${BASEDIR}/home ]; then + mv ${BASEDIR}/home ${BASEDIR}/usr/home +fi + +if [ ! -d ${BASEDIR}/usr/home ]; then + mkdir -p ${BASEDIR}/usr/home +fi + +if [ ! -d ${BASEDIR}/usr/home/${FREESBIE_ADDUSER} ]; then + mkdir -p ${BASEDIR}/usr/home/${FREESBIE_ADDUSER} +fi + +if [ ! -L ${BASEDIR}/home ]; then + ln -s usr/home ${BASEDIR}/home +fi + + +set +e +grep -q ^${FREESBIE_ADDUSER}: ${BASEDIR}/etc/master.passwd + +if [ $? -ne 0 ]; then + chroot ${BASEDIR} pw useradd ${FREESBIE_ADDUSER} \ + -u 1000 -c "FreeSBIE User" -d "/home/${FREESBIE_ADDUSER}" \ + -g 0 -G 5 -m -s /bin/tcsh -k /usr/share/skel -w none +else + chroot ${BASEDIR} pw usermod ${FREESBIE_ADDUSER} \ + -u 1000 -c "FreeSBIE User" -d "/home/${FREESBIE_ADDUSER}" \ + -g 0 -G 5 -m -s /bin/tcsh -k /usr/share/skel -w none +fi + +chroot ${BASEDIR} pw group mod operator -m ${FREESBIE_ADDUSER} + +set -e + +chown -R 1000:0 ${BASEDIR}/usr/home/${FREESBIE_ADDUSER} + +if [ ! -z "${NO_UNIONFS:-}" ]; then + echo ">>> Adding init script for /home mfs" + + cp ${LOCALDIR}/extra/adduser/homemfs.rc ${BASEDIR}/etc/rc.d/homemfs + chmod 555 ${BASEDIR}/etc/rc.d/homemfs + + echo ">>> Saving mtree structure for /home/" + + mtree -Pcp ${BASEDIR}/usr/home > ${TMPFILE} + mv ${TMPFILE} ${BASEDIR}/etc/mtree/home.dist +fi diff --git a/freesbie2/extra/adduser/homemfs.rc b/freesbie2/extra/adduser/homemfs.rc new file mode 100755 index 0000000..6dadaaa --- /dev/null +++ b/freesbie2/extra/adduser/homemfs.rc @@ -0,0 +1,62 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# $Id: homemfs.rc,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# + +# PROVIDE: homemfs +# REQUIRE: mountcritlocal +# BEFORE: var + +. /etc/rc.subr + +name="homemfs" +kenvhomesize=`kenv -q freesbie.homesize` +homesize=${kenvhomesize:-"32m"} + +load_rc_config $name + +tempdir=/tmp + +echo "Generating MFS /usr/home partition" + +device=$(mdconfig -a -t malloc -o compress -s ${homesize}) +bsdlabel -w ${device} auto +newfs -n -m 2 /dev/${device} > /dev/null 2>&1 +mount -o noatime /dev/${device} ${tempdir} + +back=$PWD + +cd /usr/home +find . -print -depth | cpio -dump --quiet ${tempdir} + +cd $back + +mtree -PUer -q -p ${tempdir} < /etc/mtree/home.dist > /dev/null 2>&1 + +umount ${tempdir} +mount -o noatime /dev/${device} /usr/home diff --git a/freesbie2/extra/autologin.sh b/freesbie2/extra/autologin.sh new file mode 100755 index 0000000..a633c56 --- /dev/null +++ b/freesbie2/extra/autologin.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: autologin.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# +# Enable autologin of the $FREESBIE_ADDUSER user on the first terminal +# + +FREESBIE_ADDUSER="${FREESBIE_ADDUSER:-freesbie}" + +echo "# ${FREESBIE_ADDUSER} user autologin" >> ${BASEDIR}/etc/gettytab +echo "${FREESBIE_ADDUSER}:\\" >> ${BASEDIR}/etc/gettytab +echo ":al=${FREESBIE_ADDUSER}:ht:np:sp#115200:" >> ${BASEDIR}/etc/gettytab + +sed -i "" "/ttyv0/s/Pc/${FREESBIE_ADDUSER}/" ${BASEDIR}/etc/ttys + diff --git a/freesbie2/extra/backup.sh b/freesbie2/extra/backup.sh new file mode 100755 index 0000000..c77e20b --- /dev/null +++ b/freesbie2/extra/backup.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms. +# +# $Id: backup.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +# we use ".sh" in the destination so that the script will be sourced +# in the "main" shell +cp extra/backup/restorebackup.rc $BASEDIR/etc/rc.d/restorebackup +chmod 555 $BASEDIR/etc/rc.d/restorebackup +mkdir -p $BASEDIR/usr/local/bin +cp extra/backup/restorebackup.sh $BASEDIR/usr/local/sbin/restorebackup +chmod 555 $BASEDIR/usr/local/sbin/restorebackup +cp extra/backup/savebackup.sh $BASEDIR/usr/local/sbin/savebackup +chmod 555 $BASEDIR/usr/local/sbin/savebackup + diff --git a/freesbie2/extra/backup/restorebackup.rc b/freesbie2/extra/backup/restorebackup.rc new file mode 100755 index 0000000..4cec2bf --- /dev/null +++ b/freesbie2/extra/backup/restorebackup.rc @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms +# +# $Id: restorebackup.rc,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# +# PROVIDE: restorebackup +# REQUIRE: etcmfs varmfs rootmfs +# BEFORE: var mountdisks + +. /etc/rc.subr + +name="restorebackup" +start_cmd="do_restore" +stop_cmd=":" + +restorescript="/usr/local/sbin/restorebackup" + +do_restore() +{ + backup_dev=`kenv -q freesbie.backup` + if [ "${backup_dev}" != "NO" -o "${backup_dev}" != "no" ]; then + if [ -z ${backup_dev} ]; then + ${restorescript} + else + ${restorescript} -d ${backup_dev} + fi + fi +} + +load_rc_config $name +run_rc_command "$1" + diff --git a/freesbie2/extra/backup/restorebackup.sh b/freesbie2/extra/backup/restorebackup.sh new file mode 100755 index 0000000..4543884 --- /dev/null +++ b/freesbie2/extra/backup/restorebackup.sh @@ -0,0 +1,166 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms +# +# $Id: restorebackup.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# + +#tmpmntdir=$(mktemp -d -t fsbiebk) +tmpmntdir="/mnt" + +_findfs() { + local offset=${1} + local value=${2} + + [ -z "${offset}" -o -z "${value}" ] && return 1 + + local size=$((($(echo -n "${value}" | wc -c) + 1) / 2)) + + [ "$(hexdump -v -e '1/1 "%X"' -s "${offset}" -n "${size}" "${harddisk}" 2>/dev/null)" = "${value}" ] + + return $? +} + +findfs() { + harddisk=$1 + while read x; do + local offset="$(echo "${x}" | cut -d : -f 2)" + local value="$(echo "${x}" | cut -d : -f 3)" + + if _findfs "${offset}" "${value}"; then + local fs="$(echo "${x}" | cut -d : -f 1)" + echo "${fs}" + return 0 + fi + #description:offset:value + done << EOF + UFS2:0x1055C:1915419 + EXT:0x438:53EF + FAT16:54:4641543136202020 + FAT32:82:4641543332202020 + FAT12:54:4641543132202020 + NTFS:3:4E54465320202020 + ISO9660:0x8001:4344303031 + XFS:0:42534658 + REISERFS:0x10034:5265497345724673 + REISERFS:0x10034:526549734572324673 + HFS+:0x400:2B48 + LINUXSWAP:0xFF6:53574150535041434532 +EOF + return 1 +} + + +find_backup_dev() { +devlist=`/sbin/camcontrol devlist | cut -d\( -f 2 | cut -d\) -f 1 \ + | grep da | sed "s/.*da/da/" | sed "s/,.*//"` + +if [ "x$devlist" != "x" ]; then +for i in ${devlist}; do + FS=`findfs /dev/$i` + case $FS in + FAT*) + mount_msdosfs /dev/$i ${tmpmntdir} + found=`ls ${tmpmntdir}/FreeSBIE/` + if [ -n "${found}" ]; then + backup_dev="/dev/$i" + umount ${tmpmntdir} + break + fi + ;; + *) + ;; + esac +done +fi +} + +echo -n "Restoring backup: " + +set +e +args=`getopt d:f:h` +if [ $? -ne 0 ]; then + usage + exit 2 +fi +set -e + +set -- $args +for i +do + case "$i" + in + -d) + backup_dev=$2 + shift; + shift; + ;; + -f) + archive=$2 + shift; + shift; + ;; + -h) + usage + exit 0 + ;; + --) + shift; + break + esac +done +if [ $# -gt 0 ] ; then + echo "$0: Extraneous arguments supplied" + usage +fi + +if [ -z ${backup_dev} ]; then + find_backup_dev +fi + +if [ "x$backup_dev" != "x" ]; then + FS=`findfs ${backup_dev}` + case $FS in + FAT*) + FSTYPE="msdosfs" + ;; + UFS*) + FSTYPE="ufs" + ;; + EXT) + FSTYPE="ext2fs" + ;; + ISO*) + FSTYPE="cd9660" + ;; + REISERFS*) + kldload reiserfs 2> /dev/null + FSTYPE="reiserfs" + ;; + XFS) + kldload xfs 2> /dev/null + FSTYPE="xfs" + ;; + NTFS) + FSTYPE="ntfs" + ;; + *) + echo "Filesystem $FS not supported" + ;; + esac + + mount -t $FSTYPE ${backup_dev} ${tmpmntdir} + if [ -z ${archive} ]; then + archive=`find ${tmpmntdir}/FreeSBIE/ -name "*freesbie_*" | tail -1` + fi + echo -n "Found backup on ${backup_dev}: `basename ${archive}`...Restoring..." + tar -C / -xjPpf ${archive} + umount ${tmpmntdir} + echo "Done" +else + echo "No backup found" +fi + + diff --git a/freesbie2/extra/backup/savebackup.sh b/freesbie2/extra/backup/savebackup.sh new file mode 100755 index 0000000..9645016 --- /dev/null +++ b/freesbie2/extra/backup/savebackup.sh @@ -0,0 +1,143 @@ +#! /bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms +# +# $Id: savebackup.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# + +TMPMNTDIR="/mnt" +ARCH_DIR="${TMPMNTDIR}/FreeSBIE/" +ARCH_NAME=`date "+freesbie_%Y%m%d_%H%M"` +ARCHIVE="${ARCH_DIR}${ARCH_NAME}.tar" +BKUP_LIST="/etc/backup.lst" + +usage() { + echo "usage: $0 backup_device" +} + +_findfs() { + local offset=${1} + local value=${2} + + [ -z "${offset}" -o -z "${value}" ] && return 1 + + local size=$((($(echo -n "${value}" | wc -c) + 1) / 2)) + + [ "$(hexdump -v -e '1/1 "%X"' -s "${offset}" -n "${size}" "${harddisk}" 2>/dev/null)" = "${value}" ] + + return $? +} + +findfs() { + harddisk=${1} + while read x; do + local offset="$(echo "${x}" | cut -d : -f 2)" + local value="$(echo "${x}" | cut -d : -f 3)" + + if _findfs "${offset}" "${value}"; then + local fs="$(echo "${x}" | cut -d : -f 1)" + echo "${fs}" + return 0 + fi + #description:offset:value + done << EOF + UFS2:0x1055C:1915419 + EXT:0x438:53EF + FAT16:54:4641543136202020 + FAT32:82:4641543332202020 + FAT12:54:4641543132202020 + NTFS:3:4E54465320202020 +EOF + return 1 +} + + +echo "FreeSBIE Backup Script" + +if [ $# -ne 1 ]; then + usage + exit 1 +elif [ ! -c /dev/$1 ]; then + usage + exit 1 +else + FS=`findfs /dev/$1` + case $FS in + UFS2) + FSTYPE="ufs" + ;; + FAT*) + FSTYPE="msdosfs" + ;; + *) + echo "Slice /dev/$1 has a $FS filesystem. FreeBSD cannot write on $FS." + echo "Please choose another slice" + exit + ;; + esac + mount -t $FSTYPE /dev/$1 ${TMPMNTDIR} + if [ ! -e ${ARCH_DIR} ]; then + mkdir ${ARCH_DIR} + fi +fi + +MARK=`cat ${BKUP_LIST} | grep -v "#" | grep -v "^-" | wc -l | awk '{print $1}'` +if [ ${MARK} -gt 10 ]; then + MARK=10 +fi +BKUPPED="0" +NEXT_MARK="1" + +add_to_archive() { + if [ -d $1 ]; then + FILE_LIST=`find $1 -print0 | xargs -0` + NEW_FILE_LIST="" + for i in `cat $BKUP_LIST | grep -v "#" | grep $1 \ + | grep "^-" | sed 's/^-//g'`; do + for x in ${FILE_LIST}; do + if [ ${x} != ${i} ]; then + NEW_FILE_LIST=`echo $NEW_FILE_LIST $x` + fi + done + done + if [ "x$NEW_FILE_LIST" != "x" ]; then + FILE_LIST=$NEW_FILE_LIST + fi + else + FILE_LIST=$1 + fi + BKUPPING=`echo ${FILE_LIST} | wc -w | awk '{print $1}'` + BKUPPED=$((${BKUPPED} + ${BKUPPING})) + i=0 + while [ $i -lt $((${BKUPPING} / 5)) ]; do + echo -n "." + i=$(($i + 1)) + done + + if [ ${BKUPPED} -ge ${NEXT_MARK} ]; then + echo -n "." + while [ ${NEXT_MARK} -lt ${BKUPPED} ]; do + NEXT_MARK=$((${NEXT_MARK} + ${MARK})) + done + fi + + if [ ! -e $ARCHIVE ]; then + tar ncpf $ARCHIVE $FILE_LIST 2> /dev/null + else + tar nrpf $ARCHIVE $FILE_LIST 2> /dev/null + fi +} + +echo -n "Adding files: " +for i in `cat ${BKUP_LIST} | grep -v "#" | grep -v "^-"`; do + add_to_archive $i +done +echo " Done" +echo -n "Compressing the archive:" +bzip2 ${ARCHIVE} +echo " Done" +sync +umount ${TMPMNTDIR} + diff --git a/freesbie2/extra/buildmodules.sh b/freesbie2/extra/buildmodules.sh new file mode 100755 index 0000000..67f603b --- /dev/null +++ b/freesbie2/extra/buildmodules.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: buildmodules.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# +# Build modules listed in BUILDMODULES variable. Useful in minimal +# environments when NO_MODULES is set. + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +BUILDMODULES=${BUILDMODULES:-} + +makecmd="make __SRCCONF=${SRC_CONF} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}" + +set +e # grep could fail. +for i in ${BUILDMODULES} ; do + (cd ${SRCDIR}/sys/modules/${i}/ && \ + ${makecmd} clean && \ + ${makecmd} depend && \ + ${makecmd} all && \ + ${makecmd} install DESTDIR=${BASEDIR} && \ + ${makecmd} clean) | grep '^====>' +done + +return 0 diff --git a/freesbie2/extra/comconsole.sh b/freesbie2/extra/comconsole.sh new file mode 100755 index 0000000..4d41c29 --- /dev/null +++ b/freesbie2/extra/comconsole.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: comconsole.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# +# Enable serial console at boot, in addition to video console +# If you want to use only serial console, define the +# SERIAL_ONLY variable somewhere + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +TMPFILE=$(mktemp -t comconsole) + +# Remove any existing line regarding console in loader.conf +touch ${BASEDIR}/boot/loader.conf +set +e # grep exit status depends on actual content of loader.conf +grep -v '^console=' ${BASEDIR}/boot/loader.conf > ${TMPFILE}; +set -e +mv ${TMPFILE} ${BASEDIR}/boot/loader.conf + +# Remove any existing line regarding console in ttys +set +e # grep exit status depends on actual content of ttys +grep -v '^ttyd0' ${BASEDIR}/etc/ttys > ${TMPFILE}; +set -e +mv ${TMPFILE} ${BASEDIR}/etc/ttys + +printf "ttyd0\t\"/usr/libexec/getty std.9600\"\tdialup\ton\tsecure\n" >> ${BASEDIR}/etc/ttys + +if [ -z "${SERIAL_ONLY:-}" ]; then + echo "-D" > ${BASEDIR}/boot.config + echo 'console="vidconsole, comconsole"' >> ${BASEDIR}/boot/loader.conf +else + echo "-h" > ${BASEDIR}/boot.config + echo 'console="comconsole"' >> ${BASEDIR}/boot/loader.conf +fi + +return 0 diff --git a/freesbie2/extra/customroot.sh b/freesbie2/extra/customroot.sh new file mode 100755 index 0000000..77416d9 --- /dev/null +++ b/freesbie2/extra/customroot.sh @@ -0,0 +1,49 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: customroot.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +CUSTOMROOT=${CUSTOMROOT:-extra/customroot} + +cd ${CUSTOMROOT} + +if [ $FREEBSD_VERSION -ge 8 ]; then + tar --exclude=\.git -c -f - * | ( cd /$BASEDIR; tar xfp -) +else + find . -not -name 'README' -not -path '*CVS*' | \ + cpio -dump -R 0:0 -v ${BASEDIR} >> ${LOGFILE} 2>&1 +fi + +# Regenerate the password db if ${CUSTOMROOT}/etc/master.passwd exists +if [ -f etc/master.passwd ]; then + chroot ${BASEDIR} cap_mkdb /etc/master.passwd + chroot ${BASEDIR} pwd_mkdb /etc/master.passwd +fi + +# Fix permissions of ssh keys +find ${BASEDIR}/etc/ssh -name 'ssh_host*key' -exec chmod 600 {} \; + +# If CUSTOMROOT_MTREE is set, fix file properties using +# $CUSTOMROOT_MTREE file. +# You can easily create your mtree file using: +# mtree -Pcp /your/customrootdir > /your/customrootmtree +# You can also edit the resulting file + +if [ ! -z "${CUSTOMROOT_MTREE:-}" ]; then + mtree -PUe -p ${BASEDIR} < ${CUSTOMROOT_MTREE} +fi + +cd ${LOCALDIR} + diff --git a/freesbie2/extra/customroot/README b/freesbie2/extra/customroot/README new file mode 100755 index 0000000..fae4920 --- /dev/null +++ b/freesbie2/extra/customroot/README @@ -0,0 +1,9 @@ +$FreeBSD$ +$Id: README,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ + +This directory contains the custom files to be included into the live +filesystem. It has to be considered as a / filesystem. Files are just +copied to the livefs directory after every other operation, just +before packing it into the final image. If a file is already present +in the live fs it will be overrided. + diff --git a/freesbie2/extra/customscripts.sh b/freesbie2/extra/customscripts.sh new file mode 100755 index 0000000..402c158 --- /dev/null +++ b/freesbie2/extra/customscripts.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dominique Goncalves +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: customscripts.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +CUSTOMSCRIPTS=${CUSTOMSCRIPTS:-extra/customscripts} + +cd ${CUSTOMSCRIPTS} +for script in `find . -type f -name "*.sh"` ; do + /bin/cp ${script} ${BASEDIR}/root + echo -n " ${script}" + /usr/sbin/chroot ${BASEDIR} /bin/sh /root/${script} + /bin/rm ${BASEDIR}/root/${script} +done + +cd ${LOCALDIR} diff --git a/freesbie2/extra/customscripts/README b/freesbie2/extra/customscripts/README new file mode 100755 index 0000000..18d3e11 --- /dev/null +++ b/freesbie2/extra/customscripts/README @@ -0,0 +1,4 @@ +This directory contains scripts to be executed in the livefs chroot +by customscripts plugin, right before the iso is packed. Useful to +do internal operations such as adding users or editing files in an +automatic way. diff --git a/freesbie2/extra/etcmfs.sh b/freesbie2/extra/etcmfs.sh new file mode 100755 index 0000000..f0338b6 --- /dev/null +++ b/freesbie2/extra/etcmfs.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: etcmfs.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +TMPFILE=$(mktemp -t etcmfs) + +cp ${LOCALDIR}/extra/etcmfs/etcmfs.rc ${BASEDIR}/etc/rc.d/etcmfs +chmod 555 ${BASEDIR}/etc/rc.d/etcmfs + +mtree -Pcp ${BASEDIR}/etc > ${TMPFILE} +mv ${TMPFILE} ${BASEDIR}/etc/mtree/etc.dist + +if [ -d ${BASEDIR}/usr/local/etc ]; then + mtree -Pcp ${BASEDIR}/usr/local/etc > ${TMPFILE} + mv ${TMPFILE} ${BASEDIR}/etc/mtree/localetc.dist +fi \ No newline at end of file diff --git a/freesbie2/extra/etcmfs/etcmfs.rc b/freesbie2/extra/etcmfs/etcmfs.rc new file mode 100755 index 0000000..c7df6c5 --- /dev/null +++ b/freesbie2/extra/etcmfs/etcmfs.rc @@ -0,0 +1,80 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# $Id: etcmfs.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# + +# PROVIDE: etcmfs +# REQUIRE: mountcritlocal +# BEFORE: var + +. /etc/rc.subr + +name="etcmfs" +kenvetcsize=`kenv -q freesbie.etcsize` +etcsize=${kenvetcsize:-"10m"} +kenvlocaletcsize=`kenv -q freesbie.localetcsize` +localetcsize=${kenvlocaletcsize:-"32m"} + +load_rc_config $name + +tempdir=/tmp + +echo "Generating MFS /etc partition" + +device=$(mdconfig -a -t malloc -o compress -s ${etcsize}) +bsdlabel -w ${device} auto +newfs -n -m 2 /dev/${device} > /dev/null 2>&1 +mount -o noatime /dev/${device} ${tempdir} + +back=$PWD + +cd /etc +find . -print -depth | cpio -dump --quiet ${tempdir} + +cd $back + +mtree -PUer -q -p ${tempdir} < /etc/mtree/etc.dist > /dev/null 2>&1 + +umount ${tempdir} +mount -o noatime /dev/${device} /etc + +if [ -f /etc/mtree/localetc.dist ]; then + device=$(mdconfig -a -t malloc -o compress -s ${localetcsize}) + newfs /dev/${device} > /dev/null 2>&1 + mount -o noatime /dev/${device} ${tempdir} + + cd /usr/local/etc + find . -print -depth | cpio -dump --quiet ${tempdir} + + cd $back + + mtree -PUer -q -p ${tempdir} < /etc/mtree/localetc.dist > /dev/null 2>&1 + + umount ${tempdir} + mount -o noatime /dev/${device} /usr/local/etc +fi diff --git a/freesbie2/extra/installports.sh b/freesbie2/extra/installports.sh new file mode 100755 index 0000000..74f00a7 --- /dev/null +++ b/freesbie2/extra/installports.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: installports.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# +# Remount the ports' tree under ${BASEDIR}/usr/ports and install ports +# listed in the INSTALL_PORTS variable in the usual category/portname +# form, e.g.: x11/nvidia-driver audio/emu10kx ... + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +INSTALL_PORTS=${INSTALL_PORTS:-} + +if [ ! -z "${INSTALL_PORTS}" ]; then + echo -n ">>> Mounting ports' tree in the livefs chroot..." + set +e + if ! kldstat -v | grep -q nullfs; then + if ! kldload nullfs; then + echo "Cannot find nullfs support in kernel and cannot find the proper module, aborting" + exit 1 + fi + fi + set -e + + mkdir -p ${BASEDIR}/usr/ports ${BASEDIR}/usr/src + mount_nullfs ${PORTSDIR:-/usr/ports} ${BASEDIR}/usr/ports + mount_nullfs ${SRCDIR:-/usr/src} ${BASEDIR}/usr/src + mount_devfs none ${BASEDIR}/dev + + print_error_umount() { + echo "Something went wrong, check errors!" >&2 + [ -n "${LOGFILE:-}" ] && \ + echo "Log saved on ${LOGFILE}" >&2 + umount_null + kill $$ # XXX exit 1 won't work. + } + + umount_null() { + umount ${BASEDIR}/usr/ports; + umount ${BASEDIR}/usr/src; + umount ${BASEDIR}/dev; + } + + trap "umount_null; exit 1" INT + + tmpmakeconf=$(TMPDIR=${BASEDIR}/tmp mktemp -t make.conf) + envvars="BATCH=true" + if [ ! -z "${SRCCONF:-}" ]; then + cat ${SRCCONF} > ${tmpmakeconf} + envvars="${envvars} __SRCCONF=${tmpmakeconf#$BASEDIR}" + fi + + for i in ${INSTALL_PORTS}; do + echo "Compiling ${i}" + (script -aq ${LOGFILE} chroot ${BASEDIR} make -C /usr/ports/${i} \ + ${envvars} clean install clean || print_error_umount;) | grep '^===>' + done + + umount_null + trap "" INT +fi + +cd ${LOCALDIR} + +echo "Done!" diff --git a/freesbie2/extra/l10n.sh b/freesbie2/extra/l10n.sh new file mode 100755 index 0000000..f3d57c8 --- /dev/null +++ b/freesbie2/extra/l10n.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: l10n.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +cp ${LOCALDIR}/extra/l10n/l10n.rc ${BASEDIR}/etc/rc.d/l10n +chmod 555 ${BASEDIR}/etc/rc.d/l10n diff --git a/freesbie2/extra/l10n/l10n.rc b/freesbie2/extra/l10n/l10n.rc new file mode 100755 index 0000000..5b67653 --- /dev/null +++ b/freesbie2/extra/l10n/l10n.rc @@ -0,0 +1,229 @@ +#!/bin/sh +# +# Copyright (c) 2006 Mozhaisky Sergei +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms. +# +# +# $Id: l10n.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# PROVIDE: l10n +# REQUIRE: etcmfs syscons xconfig + +. /etc/rc.subr + +name="l10n" +start_cmd="l10n_start" +stop_cmd=":" + +FL=`kenv -q freesbie.lang` + +SUPLANG="bg cs/cz de en es fr it pl ru sk ua" + +# path +P="/etc" +F_CSHRC="${P}/csh.cshrc" +F_PROFILE="${P}/profile" +F_RC="${P}/rc.conf" +F_TTYS="${P}/ttys" + +set_lang() { +case $1 in + # Bulgarian + bg) + X_LANG="cs_CZ.ISO8859-2" + X_MM_CHARSET="ISO-8859-2" + X_KEYMAP="bg.bds.ctrlcaps" + X_XORG_KEYMAP="bg" + ;; + # Czech + cz|cs) + X_LANG="cs_CZ.ISO8859-2" + X_MM_CHARSET="ISO-8859-2" + X_KEYMAP="cz.iso2" + X_XORG_KEYMAP="cz" + ;; + # German + de) + X_LANG="de_DE.ISO8859-1" + X_MM_CHARSET="ISO-8859-1" + X_KEYMAP="german.iso" + X_XORG_KEYMAP="de" + ;; + # English + en) + ;; + # Spanish + es) + X_LANG="es_ES.ISO8859-1" + X_MM_CHARSET="ISO-8859-1" + X_KEYMAP="spanish.iso" + X_XORG_KEYMAP="es" + ;; + # French + fr) + X_LANG="fr_FR.ISO8859-1" + X_MM_CHARSET="ISO-8859-1" + X_KEYMAP="fr.iso" + X_XORG_KEYMAP="fr" + ;; + # Italian + it) + X_LANG="it_IT.ISO8859-15" + X_MM_CHARSET="ISO-8859-15" + X_KEYMAP="it.iso" + X_XORG_KEYMAP="it" + ;; + # Polski + pl) + X_LANG="pl_PL.ISO8859-2" + X_MM_CHARSET="ISO-8859-2" + X_KEYMAP="pl_PL.ISO8859-2" + X_XORG_KEYMAP="pl" + ;; + # Russian + ru) + X_LANG="ru_RU.KOI8-R" + X_MM_CHARSET="KOI8-R" + X_KEYMAP="ru.koi8-r.win" + ;; + # Slovak + sk) + X_LANG="sk_SK.ISO8859-2" + X_MM_CHARSET="ISO-8859-2" + X_KEYMAP="sk.iso2" + X_XORG_KEYMAP="sk" + ;; + # Ukrainian + ua) + X_LANG="uk_UA.KOI8-U" + X_MM_CHARSET="KOI8-U" + X_KEYMAP="ua.koi8-u" + X_SCRNMAP="koi8-u2cp866u" + X_XORG_KEYMAP="ua(winkeys)" + ;; +esac +} + +set_tty() +{ +case $1 in + ISO-8859-1|ISO-8859-15) + X_TTY="cons25l1" + ;; + ISO-8859-2) + X_TTY="cons25l2" + ;; + ISO-8859-7) + X_TTY="cons25l7" + ;; + KOI8-R) + X_TTY="cons25r" + ;; + KOI8-U) + X_TTY="cons25u" + ;; + US-ASCII) + X_TTY="cons25w" + ;; + *) + X_TTY="cons25" + ;; +esac +} + +set_font() { +case $1 in + ISO-8859-1) + X_FONT="iso" + ;; + ISO-8859-15) + X_FONT="iso15" + ;; + ISO-8859-2) + X_FONT="iso02" + ;; + ISO-8859-7) + X_FONT="iso07" + ;; + KOI8-R) + X_FONT="cp866" + #X_FONT="866-frenzy" + X_SCRNMAP="koi8-r2cp866" + ;; + KOI8-U) + X_FONT="cp866u" + #X_FONT="866-frenzy" + X_SCRNMAP="koi8-r2cp866" + ;; + KOI8-U) + X_FONT="cp866u" + #X_FONT="866-frenzy" + X_SCRNMAP="koi8-u2cp866u" + ;; + US-ASCII) + X_FONT="iso" + ;; + *) + X_FONT="cp437" + ;; +esac +} + +l10n_start() { + + if [ -z ${FL} ]; then + exit 1 + fi + + echo -n "setting locale: " + set_lang ${FL} + set_tty ${X_MM_CHARSET} + set_font ${X_MM_CHARSET} + + DATENOW=`date "+%Y-%m-%d %H:%M:%S"` + + # set language + printf " +### locale # ${DATENOW} # +setenv LANG ${X_LANG} +setenv MM_CHARSET ${X_MM_CHARSET} +setenv LC_ALL ${X_LANG} +" >> ${F_CSHRC} + printf " +### locale # ${DATENOW} # +LANG=${X_LANG}; export LANG +MM_CHARSET=${X_MM_CHARSET}; export MM_CHARSET +LC_ALL=${X_LANG}; export LC_ALL +" >> ${F_PROFILE} + + # patching ttys + TTY_C=`awk '/ttyv0/{print $4}' ${F_TTYS}` + sed -i "" "s/[[:<:]]${TTY_C}[[:>:]]/${X_TTY}/g" ${F_TTYS} + + # patching rc.conf + printf " +### locale # ${DATENOW} # +keymap=\"${X_KEYMAP}\" +font8x16=\"${X_FONT}\" +" >> ${F_RC} + + if [ "x${X_SCRNMAP}" != "x" ]; then + printf " +scrnmap=\"${X_SCRNMAP}\" +" >> ${F_RC} + fi + + /etc/rc.d/syscons restart 2> /dev/null + + # update Xorg keyboard info + if [ -e /etc/X11/xorg.conf ]; then + sed -i "" "s/\"us\"/\"${X_XORG_KEYMAP}\"/" /etc/X11/xorg.conf + fi + + echo "." +} + +load_rc_config $name +run_rc_command "$1" diff --git a/freesbie2/extra/mountdisks.sh b/freesbie2/extra/mountdisks.sh new file mode 100755 index 0000000..cdc15f6 --- /dev/null +++ b/freesbie2/extra/mountdisks.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (c) Matteo Riondato +# +# See COPYING for licence terms. +# +# $Id: mountdisks.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +mkdir -p $BASEDIR/mnt $BASEDIR/etc/rc.d/ $BASEDIR/usr/local/sbin/ + +cp extra/mountdisks/mountdisks.sh $BASEDIR/usr/local/sbin/mountdisks +chmod 555 $BASEDIR/usr/local/sbin/mountdisks + +cp extra/mountdisks/mountdisksrc.sh $BASEDIR/etc/rc.d/mountdisks +chmod 555 $BASEDIR/etc/rc.d/mountdisks + +for fs in dos ext2fs ntfs ufs reiser; do + for i in 1 2 3 4 5 6 7 8; do + mkdir -p $BASEDIR/mnt/$fs.$i + done +done + diff --git a/freesbie2/extra/mountdisks/mountdisks.sh b/freesbie2/extra/mountdisks/mountdisks.sh new file mode 100755 index 0000000..0e50dcb --- /dev/null +++ b/freesbie2/extra/mountdisks/mountdisks.sh @@ -0,0 +1,160 @@ +#!/bin/sh +# +# Copyright (c) Edson Branti +# Copyright (c) 2006 Timothy Redaelli - Matteo Riondato +# +#$Id: mountdisks.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ + +############################################### +# We will try to detect a set of disks and +# existing slices and try to mount every +# FAT16/32, NTFS, UFS, EXT2, ReiserFS partition we find. +############################################### + +set -e -u + +MOUNT_OPTION= + +UFS_PART=1 +MSDOS_PART=1 +NTFS_PART=1 +EXT2FS_PART=1 +REISERFS_PART=1 + +UFS_TOO_MANY=0 +MSDOS_TOO_MANY=0 +NTFS_TOO_MANY=0 +EXT2FS_TOO_MANY=0 +REISERFS_TOO_MANY=0 + +#_swap() { +# data=${1} + +# until [ -z "${data}" ]; do +# tmp="$(echo ${data} | cut -b -2)" +# data="$(echo ${data} | cut -b 3-)" +# buf="${tmp}${buf}" +# done + +# echo ${buf} +#} + +OPTION=`echo $@` +if [ "${OPTION}" != "rw" -a "${OPTION}" != "ro" ]; then + echo "Program: mountdisks.sh" + echo "Parameters:" + echo " - ro mounts partitions in READ ONLY mode;" + echo " - rw mounts partitions in READ/WRITE mode." + exit 1 +fi +if [ "${OPTION}" = "ro" ]; then + MOUNT_OPTION="-r" +fi + + +_findfs() { + local offset=${1} + local value=${2} + + [ -z "${offset}" -o -z "${value}" ] && return 1 + + local size=$((($(echo -n "${value}" | wc -c) + 1) / 2)) + + [ "$(hexdump -v -e '1/1 "%X"' -s "${offset}" -n "${size}" "${harddisk}" 2>/dev/null)" = "${value}" ] + + return $? +} + +findfs() { + harddisk=$1 + while read x; do + local offset="$(echo "${x}" | cut -d : -f 2)" + local value="$(echo "${x}" | cut -d : -f 3)" + + if _findfs "${offset}" "${value}"; then + local fs="$(echo "${x}" | cut -d : -f 1)" + echo "${fs}" + return 0 + fi + #description:offset:value + done << EOF + UFS2:0x1055C:1915419 + EXT:0x438:53EF + FAT16:54:4641543136202020 + FAT32:82:4641543332202020 + FAT12:54:4641543132202020 + NTFS:3:4E54465320202020 + ISO9660:0x8001:4344303031 + XFS:0:42534658 + REISERFS:0x10034:5265497345724673 + REISERFS:0x10034:526549734572324673 + HFS+:0x400:2B48 + LINUXSWAP:0xFF6:53574150535041434532 +EOF + return 1 +} + +for i in `egrep "^(aacd|ad|ar|amrd|da|fla|idad|ips|mlxd|mlyd|pst|twed|wd)[0-9]:" /var/run/dmesg.boot | cut -d':' -f1 | sort -u`; do + find "/dev" -name "${i}s?" | while read a; do + case `findfs ${a}` in + UFS*) + if [ ${UFS_PART} -le 8 ]; then + echo "UFS slice found at ${a}, detecting partitions..." + disklabel -r "${a}" 2>/dev/null | awk -F'[: ]' '/BSD/{print $3}' | while read j; do + if [ ${UFS_PART} -le 8 ]; then + echo "UFS partition found at ${a}${j}, mounting it under /mnt/ufs.${UFS_PART}" + mount ${MOUNT_OPTION} ${a}${j} /mnt/ufs.${UFS_PART} >/dev/null 2>&1 + UFS_PART=$((${UFS_PART} + 1)) + else + echo "Too many partitions found, only 8 can be mounted simultaneously." + fi + done + else + echo "Too many partitions found, only 8 can be mounted simultaneously." + fi + ;; + EXT) + if [ ${EXT2FS_PART} -le 8 ]; then + echo "EXT2FS slice found at ${a}, mounting it under /mnt/ext2fs.${EXT2FS_PART} ..." + mount -t ext2fs ${MOUNT_OPTION} ${a} /mnt/ext2fs.${EXT2FS_PART} >/dev/null 2>&1 + EXT2FS_PART=$(({EXT2FS_PART} + 1)) + else + echo "Too many slices found, only 8 can be mounted simultaneously." + fi + ;; + FAT*) + if [ ${MSDOS_PART} -le 8 ]; then + echo "FAT16/32 slice found at ${a}, mounting it under /mnt/dos.${MSDOS_PART} ..." + mount -t msdos ${MOUNT_OPTION} ${a} /mnt/dos.${MSDOS_PART} >/dev/null 2>&1 + MSDOS_PART=$((${MSDOS_PART} + 1)) + else + echo "Too many slices found, only 8 can be mounted simultaneously." + fi + ;; + NTFS) + if [ ${NTFS_PART} -le 8 ]; then + echo "NTFS slice found at ${a}, mounting it under /mnt/ntfs.${NTFS_PART} ..." + mount -t ntfs ${a} /mnt/ntfs.${NTFS_PART} >/dev/null 2>&1 + NTFS_PART=$((${NTFS_PART} + 1)) + else + echo "Too many slices found, only 8 can be mounted simultaneously." + fi + ;; + REISERFS) + if ! kldstat -q -m reiserfs ; then + kldload reiserfs + fi + + if [ ${REISERFS_PART} -le 8 ]; then + echo "ReiserFS slice found at ${a}, mounting it under /mnt/reiser.${REISERFS_PART} ..." + mount -t reiserfs ${a} /mnt/reiser.${REISERFS_PART} >/dev/null 2>&1 + REISERFS_PART=$((${REISERFS_PART} + 1)) + else + echo "Too many slices found, only 8 can be mounted simultaneously." + fi + ;; + *) + ;; + esac + done +done diff --git a/freesbie2/extra/mountdisks/mountdisksrc.sh b/freesbie2/extra/mountdisks/mountdisksrc.sh new file mode 100755 index 0000000..52ddce9 --- /dev/null +++ b/freesbie2/extra/mountdisks/mountdisksrc.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence details +# +# $Id: mountdisksrc.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# PROVIDE mountdisks +# REQUIRE mountcriticlocal dmesg + +. /etc/rc.subr + +name="mountdisks" +start_cmd="do_mountdisks" +stop_cmd=":" + +do_mountdisks() +{ + do_mount=`kenv -q freesbie.mountdisks` + if [ "${do_mount}" = "yes" -o "${do_mount}" = "YES" ]; then + sh /usr/local/sbin/mountdisks rw + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/freesbie2/extra/pf.sh b/freesbie2/extra/pf.sh new file mode 100755 index 0000000..dce6198 --- /dev/null +++ b/freesbie2/extra/pf.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# Copyright (c) 2006 Dominique Goncalves +# +# See COPYING for licence terms. +# +# +# $Id: pf.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +echo "pf_rules_enable=\"YES\"" >> $BASEDIR/etc/rc.conf +echo "pf_enable=\"YES\"" >> $BASEDIR/etc/rc.conf + +cp extra/pf/pf_rules.sh $BASEDIR/etc/rc.d/pf_rules +chmod 555 $BASEDIR/etc/rc.d/pf_rules diff --git a/freesbie2/extra/pf/pf_rules.sh b/freesbie2/extra/pf/pf_rules.sh new file mode 100755 index 0000000..5330bc1 --- /dev/null +++ b/freesbie2/extra/pf/pf_rules.sh @@ -0,0 +1,45 @@ +#!/bin/sh +# +# Copyright (c) 2006 Dominique Goncalves +# +# See COPYING for licence terms. +# +# $Id: pf_rules.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# +# Create a basic pf.conf. +# Block everything by default, +# Allow everything on lo0, +# Do not create rules on some interface ie: plip0, +# Allow all tcp and udp connections to outside with keep state flags, +# Allow icmp on all interfaces. +# +# PROVIDE: pf_rules +# REQUIRE: netif +# BEFORE: pf + +. /etc/rc.subr + +name="pf_rules" +rcvar=`set_rcvar` +start_cmd="create_rules" +required_files="$pf_rules" + +create_rules () +{ + echo "Creating $pf_rules." + + echo "scrub in all" > $pf_rules + echo "block drop all" >> $pf_rules + echo "pass quick on lo0 all" >> $pf_rules + + for inf in `ifconfig -l` ; do + if echo $inf | egrep -qv 'lo|plip|gif|tun'; then + echo "pass on $inf proto icmp all" >> $pf_rules + echo "pass out on $inf proto {tcp,udp} from ($inf) to any keep state" >> $pf_rules + echo "pass in on $inf proto tcp from any to ($inf) port 22 keep state" >> $pf_rules + fi + done +} + +load_rc_config $name +run_rc_command "$1" diff --git a/freesbie2/extra/rootmfs.sh b/freesbie2/extra/rootmfs.sh new file mode 100755 index 0000000..f518de4 --- /dev/null +++ b/freesbie2/extra/rootmfs.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: rootmfs.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +TMPFILE=$(mktemp -t rootmfs) + +cp ${LOCALDIR}/extra/rootmfs/rootmfs.rc ${BASEDIR}/etc/rc.d/rootmfs +chmod 555 ${BASEDIR}/etc/rc.d/rootmfs + +mtree -Pcp ${BASEDIR}/root > ${TMPFILE} +mv ${TMPFILE} ${BASEDIR}/etc/mtree/root.dist diff --git a/freesbie2/extra/rootmfs/rootmfs.rc b/freesbie2/extra/rootmfs/rootmfs.rc new file mode 100755 index 0000000..23534dc --- /dev/null +++ b/freesbie2/extra/rootmfs/rootmfs.rc @@ -0,0 +1,62 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# $Id: rootmfs.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# + +# PROVIDE: rootmfs +# REQUIRE: mountcritlocal +# BEFORE: var + +. /etc/rc.subr + +name="rootmfs" +kenvrootsize=`kenv -q freesbie.rootsize` +rootsize=${kenvrootsize:-"20m"} + +load_rc_config $name + +tempdir=/tmp + +echo "Generating MFS /root partition" + +device=$(mdconfig -a -t malloc -o compress -s ${rootsize}) +bsdlabel -w ${device} auto +newfs -n -m 2 /dev/${device} > /dev/null 2>&1 +mount -o noatime /dev/${device} ${tempdir} + +back=$PWD + +cd /root +find . -print -depth | cpio -dump --quiet ${tempdir} + +cd $back + +mtree -PUer -q -p ${tempdir} < /etc/mtree/root.dist > /dev/null 2>&1 + +umount ${tempdir} +mount -o noatime /dev/${device} /root diff --git a/freesbie2/extra/sound.sh b/freesbie2/extra/sound.sh new file mode 100755 index 0000000..da2fb2f --- /dev/null +++ b/freesbie2/extra/sound.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# +# Copyright (c) 2005 Matteo Riondato +# +# See COPYING for licence terms. +# +# +# $Id: sound.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +mkdir -p $BASEDIR/usr/local/share/sound $BASEDIR/etc/rc.d + +cp extra/sound/sound_detect.sh $BASEDIR/etc/rc.d/sound_detect +chmod 555 $BASEDIR/etc/rc.d/sound_detect +cp extra/sound/snd_card_ids.txt $BASEDIR/usr/local/share/sound/ + diff --git a/freesbie2/extra/sound/snd_card_ids.txt b/freesbie2/extra/sound/snd_card_ids.txt new file mode 100755 index 0000000..ea1a497 --- /dev/null +++ b/freesbie2/extra/sound/snd_card_ids.txt @@ -0,0 +1,16 @@ +#$Id: snd_card_ids.txt,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +snd_als4000:0x40004005 +snd_aureal:0x000112eb +snd_cmi:0x011213f6,0x011113f6,0x010113f6,0x010013f6 +snd_cs4281:0x60051013 +snd_csa:0x60041013,0x60031013,0x60011013 +snd_emu10k1:0x70021102,0x00041102,0x00021102 +snd_es137x:0x89381102,0x58801274,0x13713274,0x13711274,0x50001274 +snd_ich:0x746d1022,0x74451022,0x00ea10de,0x00da10de,0x008a10de,0x006a10de,0x01b110de,0x24858086,0x24458086,0x24258086,0x24158086,0x71958086,0x266e8086,0x24d58086,0x24c58086,0x70121039 +snd_maestro:0x803c1033,0x80581033,0x1978125d,0x1968125d,0x01001285 +snd_neomagic:0x800610c8,0x800510c8 +snd_solo:0x1969125d +snd_t4dwave:0x70181039,0x545110b9,0x20011023,0x20001023 +snd_via8233:0x30591106 +snd_via82c686:0x30581106 +snd_vibes:0xca005333 diff --git a/freesbie2/extra/sound/sound_detect.sh b/freesbie2/extra/sound/sound_detect.sh new file mode 100755 index 0000000..1836959 --- /dev/null +++ b/freesbie2/extra/sound/sound_detect.sh @@ -0,0 +1,37 @@ +#!/bin/sh +# +# Copyright 2002-2005 G.U.F.I. All rights reserved. +# Copyright 2006 Timothy Redaelli +# +# See COPYING for licence terms +# +# $Id: sound_detect.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# Detect the audio card and load the appropriate driver +# +# PROVIDE: sound_detect + +. /etc/rc.subr + +name="sound_detect" +start_cmd="do_sound_detect" +stop_cmd=":" + +do_sound_detect() +{ + +CARD_FILE=/usr/local/share/sound/snd_card_ids.txt +pciconf -lv | awk -F '[ =]' '/^none/{print $6}' | while read i +do + SND_DRIVER=`fgrep $i $CARD_FILE | cut -d: -f 1` + if [ "$SND_DRIVER" ]; then + echo -n "Loading $SND_DRIVER.ko... " + /sbin/kldload /boot/kernel/$SND_DRIVER.ko + echo "[OK]"; + fi +done +} + +load_rc_config $name +run_rc_command "$1" + diff --git a/freesbie2/extra/suid.sh b/freesbie2/extra/suid.sh new file mode 100755 index 0000000..dcb170c --- /dev/null +++ b/freesbie2/extra/suid.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: suid.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +SUIDFILES="/sbin/ping /sbin/ping6 /sbin/shutdown" + +for i in $SUIDFILES ; do + mv ${BASEDIR}$i ${BASEDIR}/usr$i + chroot ${BASEDIR} ln -s /usr$i $i +done + diff --git a/freesbie2/extra/swapfind.sh b/freesbie2/extra/swapfind.sh new file mode 100755 index 0000000..d989ffd --- /dev/null +++ b/freesbie2/extra/swapfind.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Copyright (c) 2005 Matteo Riondato +# +# See COPYING for licence terms. +# +# +# $Id: swapfind.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +cp extra/swapfind/swapfind.sh $BASEDIR/etc/rc.d/swapfind +chmod 555 $BASEDIR/etc/rc.d/swapfind + diff --git a/freesbie2/extra/swapfind/swapfind.sh b/freesbie2/extra/swapfind/swapfind.sh new file mode 100755 index 0000000..ba2ce2b --- /dev/null +++ b/freesbie2/extra/swapfind/swapfind.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Copyright (c) 2005 Matteo Riondato +# Copyright (c) 2006 Timothy Redaelli +# +# See COPYING for licence terms. +# +# +# $Id: swapfind.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# PROVIDE: swapfind +# REQUIRE: mountcritlocal dmesg + +. /etc/rc.subr + +name="swapfind" +start_cmd="swapfind_start" +stop_cmd=":" + + +swapfind_start() { + +awk -F: '/^(ad|ar|da)[0-9]:/ {print $1}' /var/run/dmesg.boot | sort -u | while read disk +do + slice=1 + + fdisk $disk | awk /sysid/'{print $2}' | while read sltype + do + if [ "$sltype" = "165" ]; then + bsdlabel -r /dev/${disk}s${slice} 2>/dev/null | awk -F '[ :]+' '/swap/{print $2}' | while read part + do + /sbin/swapon /dev/${disk}s${slice}${part} + done + fi + + slice=$(($slice + 1)) + done +done + +} + +load_rc_config $name +run_rc_command "$1" + diff --git a/freesbie2/extra/varmfs.sh b/freesbie2/extra/varmfs.sh new file mode 100755 index 0000000..4170c6b --- /dev/null +++ b/freesbie2/extra/varmfs.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: varmfs.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +TMPFILE=$(mktemp -t varmfs) + +cp ${LOCALDIR}/extra/varmfs/varmfs.rc ${BASEDIR}/etc/rc.d/varmfs +chmod 555 ${BASEDIR}/etc/rc.d/varmfs + +mtree -Pcp ${BASEDIR}/var > ${TMPFILE} +mv ${TMPFILE} ${BASEDIR}/etc/mtree/var.dist + +if [ $FREEBSD_VERSION -ge 9 ]; then + pkg -c ${BASEDIR} info > ${BASEDIR}/pkg_info.txt 2> /dev/null +else + chroot ${BASEDIR} pkg_info > ${BASEDIR}/pkg_info.txt 2>/dev/null +fi diff --git a/freesbie2/extra/varmfs/varmfs.rc b/freesbie2/extra/varmfs/varmfs.rc new file mode 100755 index 0000000..2921a1a --- /dev/null +++ b/freesbie2/extra/varmfs/varmfs.rc @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# $Id: varmfs.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# + +# PROVIDE: varmfs +# REQUIRE: mountcritlocal +# BEFORE: var + +. /etc/rc.subr + +name="varmfs" +kenvvarsize=`kenv -q freesbie.varsize` +varsize=${kenvvarsize:-"32m"} + +load_rc_config $name + +tempdir=/tmp + +echo "Generating MFS /var partition" + +device=$(mdconfig -a -t malloc -o compress -s ${varsize}) +bsdlabel -w ${device} auto +newfs -n -m 2 /dev/${device} > /dev/null 2>&1 +mount -o noatime /dev/${device} ${tempdir} + +back=$PWD + +cd /var +if [ -z "${VARMFS_COPYDBPKG:-}" ]; then + find . -not -path "*/db/pkg*" -print -depth | cpio -dump --quiet ${tempdir} +else + find . -print -depth | cpio -dump --quiet ${tempdir} +fi + +cd $back + +mtree -PUer -q -p ${tempdir} < /etc/mtree/var.dist > /dev/null 2>&1 + +umount ${tempdir} +mount -o noatime /dev/${device} /var diff --git a/freesbie2/extra/xautostart.sh b/freesbie2/extra/xautostart.sh new file mode 100755 index 0000000..686ca4c --- /dev/null +++ b/freesbie2/extra/xautostart.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# Copyright (c) Matteo Riondato +# +# See COPYING for licence terms. +# +# $Id: xautostart.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ +# + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +mkdir -p $BASEDIR/mnt $BASEDIR/etc/rc.d/ $BASEDIR/usr/local/sbin/ + +cp extra/xautostart/xautostart.rc $BASEDIR/etc/rc.d/xautostart +chmod 555 $BASEDIR/etc/rc.d/xautostart + diff --git a/freesbie2/extra/xautostart/xautostart.rc b/freesbie2/extra/xautostart/xautostart.rc new file mode 100755 index 0000000..12819f9 --- /dev/null +++ b/freesbie2/extra/xautostart/xautostart.rc @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Copyright (c) 2006 Matteo Riondato +# +# See COPYING for licence details +# +# $Id: xautostart.rc,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# PROVIDE xautostart +# REQUIRE homemfs xconfig + +. /etc/rc.subr + +name="xautostart" +start_cmd="do_xautostart" +stop_cmd=":" + +do_xautostart() +{ + winmanager=`kenv -q freesbie.wm` + for i in `ls /home`; do + case $winmanager in + xfce*) + wm_command="startxfce4" + ;; + fluxbox) + wm_command="fluxbox" + ;; + *) + wm_command="" + ;; + esac + + if [ "x$wm_command" != "x" ]; then + sed -i -e 1s/^.*$/exec\ $wm_command/ \ + /home/${i}/.xinitrc + ( + echo "" + echo "set XORG_ON=\`ps ac | grep Xorg\`" + echo "if ( \"\$XORG_ON\" != \"\" ) then" + echo "exit" + echo "endif" + echo "" + echo "if ( ! \$?DISPLAY ) then" + echo "set TTY_TYPE=\`echo \$tty | cut -c 4\`" + echo "if ( \$TTY_TYPE == \"v\" ) then" + echo "[ -x /usr/X11R6/bin/startx ] && startx" + echo "endif" + echo "endif" + ) >> /home/${i}/.cshrc + fi + done +} + +load_rc_config $name +run_rc_command "$1" + diff --git a/freesbie2/extra/xconfig-probe.sh b/freesbie2/extra/xconfig-probe.sh new file mode 100755 index 0000000..6e24904 --- /dev/null +++ b/freesbie2/extra/xconfig-probe.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# Copyright (c) 2005 Timothy Redaelli & Matteo Riondato & Dario Freni +# +# See COPYING for licence terms. +# +# +# $Id: xconfig-probe.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +mkdir -p $BASEDIR/usr/local/share/xconfig/ $BASEDIR/usr/local/etc/rc.d/ $BASEDIR/usr/local/sbin/ + +cp extra/xconfig-probe/xorg.conf.orig $BASEDIR/usr/local/share/xconfig/ + +install -C extra/xconfig-probe/xconfig-probe.sh $BASEDIR/usr/local/etc/rc.d/ + +# XXX Remember to trigger it on your login scripts or in rc.local +install -C extra/xconfig-probe/xkbdlayout.sh $BASEDIR/usr/local/sbin/ diff --git a/freesbie2/extra/xconfig-probe/xconfig-probe.sh b/freesbie2/extra/xconfig-probe/xconfig-probe.sh new file mode 100755 index 0000000..0d56cea --- /dev/null +++ b/freesbie2/extra/xconfig-probe/xconfig-probe.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +# Copyright (c) 2005 Timothy Redaelli +# +# See COPYING for licence terms. +# +# $Id: xconfig-probe.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# Video Card Detection script + +if [ ! -x /usr/X11R6/bin/X ]; then + exit +fi + +echo "Creating xorg.conf..." +PATH_DEST=/etc/X11 +PATH_ORIG=/usr/local/share/xconfig + +X_CFG_ORIG=${PATH_ORIG}/xorg.conf.orig +X_CFG_AUTO=/root/xorg.conf.new +X_CFG=${PATH_DEST}/xorg.conf + +if [ -f "${X_CFG}" ]; then + echo "xorg.conf found... skipping" + exit +fi + +cp "${X_CFG_ORIG}" "${X_CFG}" + +if /usr/X11R6/bin/X -configure; then + awk '/^Section "Device"/,/^EndSection/' "${X_CFG_ORIG}" >> "${X_CFG}" + rm -f "${X_CFG_ORIG}" +else + printf 'Section "Device"\n\tIdentifier "Card0"\n\tDriver "vesa"\nEndSection\n' >> "${X_CFG}" +fi diff --git a/freesbie2/extra/xconfig-probe/xkbdlayout.sh b/freesbie2/extra/xconfig-probe/xkbdlayout.sh new file mode 100755 index 0000000..088539c --- /dev/null +++ b/freesbie2/extra/xconfig-probe/xkbdlayout.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# +# Copyright (c) 2002-2004 G.U.F.I. +# Copyright (c) 2005 Matteo Riondato & Dario Freni +# +# See COPYING for licence terms- +# +# $Id: xkbdlayout.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# X keyboard selection script + +X11_ETCPATH=/etc/X11 +LOCKFILE=${X11_ETCPATH}/.xkbdsel.keep +X_CFG=${X11_ETCPATH}/xorg.conf + +if [ ! -f /usr/X11R6/bin/X -o ! -f ${X_CFG} ]; then + exit +fi + +if [ ! -e ${LOCKFILE} ]; then + touch ${LOCKFILE} +else + exit +fi + +# Create Xkbd Layout Dialog +DIALOG_FILE=$BASEDIR/usr/local/share/xconfig/xkbddialog.sh +LAYOUT_DIR="/usr/X11R6/lib/X11/xkb/rules/" +if [ -e $LAYOUT_DIR/xorg.lst ]; then + LAYOUT_FILE=$LAYOUT_DIR/xorg.lst +else + exit 1 +fi + +TMPFILE=$(mktemp -t xorg.lst) + +awk 'BEGIN{ORS=" "}{ + if ($1 == "!") { + if ($2 == "layout") { + getline; + while ($0 != "!" && $0 != "") { + print $1 " \"" $2 "\""; + getline; + } + } + } +}' $LAYOUT_FILE > $TMPFILE + + +ARG=$(cat $TMPFILE) +CMD='dialog --title "FreeSBIE X.org Layout" \ + --menu "Choose your preferred keyboard layout" 22 50 15 \ + '${ARG}'2> '$TMPFILE + + +set +e +# Running dialog, overwriting TMPFILE +eval "$CMD" +retval=$? +set -e + +if [ $retval = 1 ]; then + echo "Canceled" + rm ${LOCKFILE} + exit 1 +fi + +LAYOUT=$(cat $TMPFILE) + +#Re use the TMPFILE +cp ${X_CFG} ${TMPFILE} +sed "s/\"us\"/\"${LAYOUT}\"/" ${TMPFILE} > ${X_CFG} + +rm ${TMPFILE} + diff --git a/freesbie2/extra/xconfig.sh b/freesbie2/extra/xconfig.sh new file mode 100755 index 0000000..3692f9e --- /dev/null +++ b/freesbie2/extra/xconfig.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# Copyright (c) 2005 Matteo Riondato & Dario Freni +# +# See COPYING for licence terms. +# +# +# $Id: xconfig.sh,v 1.1.1.1 2008/03/25 19:58:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +mkdir -p $BASEDIR/etc/X11/ $BASEDIR/etc/rc.d/ $BASEDIR/usr/local/sbin/ + +cp extra/xconfig/xorg.conf.orig $BASEDIR/etc/X11/ + +cp extra/xconfig/xconfig.sh $BASEDIR/etc/rc.d/xconfig +chmod 555 $BASEDIR/etc/rc.d/xconfig + +# XXX Remember to trigger it on your login scripts or in rc.local +cp extra/xconfig/xkbdlayout.sh $BASEDIR/usr/local/sbin/ diff --git a/freesbie2/extra/xconfig/xconfig.sh b/freesbie2/extra/xconfig/xconfig.sh new file mode 100755 index 0000000..7cbb57f --- /dev/null +++ b/freesbie2/extra/xconfig/xconfig.sh @@ -0,0 +1,73 @@ +#!/bin/sh +# +# Copyright (c) 2002-2004 G.U.F.I. +# Copyright (c) 2005-2006 Matteo Riondato & Dario Freni +# +# See COPYING for licence terms. +# +# $Id: xconfig.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# Video Card Detection script +# +# +# PROVIDE: xconfig +# REQUIRE: etcmfs + +. /etc/rc.subr + +name="xconfig" +start_cmd="create_xorgconf" +stop_cmd=":" + +create_xorgconf() { + +if [ ! -f /usr/X11R6/bin/X ]; then + exit +fi + +echo -n "Creating xorg.conf..." + +PATH_DEST=/etc/X11 +X_CFG_ORIG=${PATH_DEST}/xorg.conf.orig +X_CFG=${PATH_DEST}/xorg.conf + +if [ -f ${X_CFG} ]; then + echo "xorg.conf found... skipping" + exit +fi + +pciconf="/usr/sbin/pciconf -lv" + +pciline=$(${pciconf} | grep -B 4 VGA | head -n 1) + +vendor_id=$(echo ${pciline} | awk '{print "0x" substr($4,12)}') +device_id=$(echo ${pciline} | awk '{print substr($4,6,6)}') +revision=$(echo ${pciline} | awk '{print substr($5,5)}') +subsysvendor_id=$(echo ${pciline} | awk '{print "0x" substr($3,12)}') +subsys_id=$(echo ${pciline} | awk '{print substr($3,6,6)}') +class=$(echo ${pciline} | awk '{print substr($2,7,6)}') + +DRIVER_STR=$(/usr/X11R6/bin/getconfig -X 60900000 -I /etc/X11,/usr/X11R6/etc/X11,/usr/X11R6/lib/modules,/usr/X11R6/lib/X11/getconfig -v ${vendor_id} -d ${device_id} -r ${revision} -s ${subsysvendor_id} -b ${subsys_id} -c ${class} 2> /dev/null) + +echo -n " using \"${DRIVER_STR}\" driver..." + +case "${DRIVER_STR:-NULL}" in +NULL) + echo "no drivers found... using vesa" + cp ${X_CFG_ORIG} ${X_CFG} + ;; +vesa) + cp ${X_CFG_ORIG} ${X_CFG} + ;; +*) + sed "s/vesa/${DRIVER_STR}/" < ${X_CFG_ORIG} > ${X_CFG} + ;; +esac + +echo " done." + +} + +load_rc_config $name +run_rc_command "$1" + diff --git a/freesbie2/extra/xconfig/xkbdlayout.sh b/freesbie2/extra/xconfig/xkbdlayout.sh new file mode 100755 index 0000000..088539c --- /dev/null +++ b/freesbie2/extra/xconfig/xkbdlayout.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# +# Copyright (c) 2002-2004 G.U.F.I. +# Copyright (c) 2005 Matteo Riondato & Dario Freni +# +# See COPYING for licence terms- +# +# $Id: xkbdlayout.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ +# +# X keyboard selection script + +X11_ETCPATH=/etc/X11 +LOCKFILE=${X11_ETCPATH}/.xkbdsel.keep +X_CFG=${X11_ETCPATH}/xorg.conf + +if [ ! -f /usr/X11R6/bin/X -o ! -f ${X_CFG} ]; then + exit +fi + +if [ ! -e ${LOCKFILE} ]; then + touch ${LOCKFILE} +else + exit +fi + +# Create Xkbd Layout Dialog +DIALOG_FILE=$BASEDIR/usr/local/share/xconfig/xkbddialog.sh +LAYOUT_DIR="/usr/X11R6/lib/X11/xkb/rules/" +if [ -e $LAYOUT_DIR/xorg.lst ]; then + LAYOUT_FILE=$LAYOUT_DIR/xorg.lst +else + exit 1 +fi + +TMPFILE=$(mktemp -t xorg.lst) + +awk 'BEGIN{ORS=" "}{ + if ($1 == "!") { + if ($2 == "layout") { + getline; + while ($0 != "!" && $0 != "") { + print $1 " \"" $2 "\""; + getline; + } + } + } +}' $LAYOUT_FILE > $TMPFILE + + +ARG=$(cat $TMPFILE) +CMD='dialog --title "FreeSBIE X.org Layout" \ + --menu "Choose your preferred keyboard layout" 22 50 15 \ + '${ARG}'2> '$TMPFILE + + +set +e +# Running dialog, overwriting TMPFILE +eval "$CMD" +retval=$? +set -e + +if [ $retval = 1 ]; then + echo "Canceled" + rm ${LOCKFILE} + exit 1 +fi + +LAYOUT=$(cat $TMPFILE) + +#Re use the TMPFILE +cp ${X_CFG} ${TMPFILE} +sed "s/\"us\"/\"${LAYOUT}\"/" ${TMPFILE} > ${X_CFG} + +rm ${TMPFILE} + diff --git a/freesbie2/pfSense_version b/freesbie2/pfSense_version new file mode 100755 index 0000000..e69de29 diff --git a/freesbie2/scripts/buildkernel.sh b/freesbie2/scripts/buildkernel.sh new file mode 100755 index 0000000..f42b9b3 --- /dev/null +++ b/freesbie2/scripts/buildkernel.sh @@ -0,0 +1,113 @@ +#!/bin/sh +# +# pfSense specific buildkernel.sh +# +# Copyright (c) 2009 Scott Ullrich +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. (hint: BSD License) +# + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + sleep 999 + exit 1 +fi + +if [ -z "${KERNELCONF:-}" ]; then + echo "KERNELCONF not set. Cannot continue." + sleep 999 + exit 1 +fi + +if [ -z "${KERNCONF:-}" ]; then + echo "KERNCONF not set. Cannot continue." + sleep 999 + exit 1 +fi + +if [ -n "${NO_BUILDKERNEL:-}" ]; then + echo "+++ NO_BUILDKERNEL set, skipping build" | tee -a ${LOGFILE} + return +fi + +# Set SRC_CONF variable if it's not already set. +if [ -z "${SRC_CONF:-}" ]; then + if [ -n "${MINIMAL:-}" ]; then + SRC_CONF=${LOCALDIR}/conf/make.conf.minimal + else + SRC_CONF=${LOCALDIR}/conf/make.conf.${FREEBSD_VERSION} + fi +fi + +# Set __MAKE_CONF variable if it's not already set. +if [ -z "${MAKE_CONF:-}" ]; then + MAKE_CONF="" +else + MAKE_CONF="__MAKE_CONF=$MAKE_CONF" + echo ">>> Setting MAKE_CONF to $MAKE_CONF" +fi + +if [ -n "${KERNELCONF:-}" ]; then + export KERNCONFDIR=$(dirname ${KERNELCONF}) + export KERNCONF=$(basename ${KERNELCONF}) +elif [ -z "${KERNCONF:-}" ]; then + export KERNCONFDIR=${LOCALDIR}/conf/${ARCH} + export KERNCONF="FREESBIE" +fi + +if [ -z "${WITH_DTRACE:-}" ]; then + DTRACE="" +else + DTRACE=" WITH_CTF=1" +fi + +SRCCONFBASENAME=`basename ${SRC_CONF}` +echo ">>> KERNCONFDIR: ${KERNCONFDIR}" +echo ">>> ARCH: ${ARCH}" +echo ">>> SRC_CONF: ${SRCCONFBASENAME}" +if [ "$DTRACE" != "" ]; then + echo ">>> DTRACE: ${DTRACE}" +fi + +unset EXTRA + +makeargs="${MAKEOPT:-} SRCCONF=${SRC_CONF} ${MAKE_CONF} NO_KERNELCLEAN=yes TARGET=${ARCH} TARGET_ARCH=${ARCH} ${DTRACE}" + +if [ "$ARCH" = "MIPS" ]; then + echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} kernel-toolchain" > ${BUILDER_LOGS}/freesbie2/freesbie_buildworld_cmd.txt + echo ">>> MIPS ARCH deteceted, running make kernel-toolchain ..." + (env "$MAKE_ENV" script -aq $LOGFILE make $makeargs kernel-toolchain $MAKEJ_KERNEL || print_error;) | egrep '^>>>' +fi + +echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make $makeargs buildkernel" \ + > ${BUILDER_LOGS}/freesbie2/freesbie_buildkernel_cmd.txt + +cd $SRCDIR + +# If -j is defined sometimes a kernel build +# will fail. Attempt to try again up to 9 +# more times and fail out completely if we +# cannot get this right in 10 attempts. +if [ "$MAKEJ_KERNEL" != "" ]; then + COUNTER=1 +else + COUNTER=9 +fi +while [ "$COUNTER" -lt 10 ]; do + (env "$MAKE_ENV" script -aq $LOGFILE make $makeargs buildkernel $MAKEJ_KERNEL || print_error;) | egrep '^>>>' + if [ "$?" -gt 0 ]; then + if [ "$COUNTER" -gt 9 ]; then + exit 1 + fi + echo ">>> make -j error occured attempt #$COUNTER - retrying build up to 10 times" + else + COUNTER=11 + fi + COUNTER=`expr $COUNTER + 1` +done + +cd $LOCALDIR diff --git a/freesbie2/scripts/buildworld.sh b/freesbie2/scripts/buildworld.sh new file mode 100755 index 0000000..051cd30 --- /dev/null +++ b/freesbie2/scripts/buildworld.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# +# pfSense specific buildworld.sh +# +# Copyright (c) 2009 Scott Ullrich +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms (HINT: BSD License) +# + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + sleep 999 + exit 1 +fi + +if [ -n "${NO_BUILDWORLD:-}" ]; then + echo "+++ NO_BUILDWORLD set, skipping build" | tee -a ${LOGFILE} + return +fi + +# Set SRC_CONF variable if it's not already set. +if [ -z "${SRC_CONF:-}" ]; then + if [ -n "${MINIMAL:-}" ]; then + SRC_CONF=${LOCALDIR}/conf/make.conf.minimal + else + SRC_CONF=${LOCALDIR}/conf/make.conf + fi +fi +echo ">>> Setting SRC_CONF to $SRC_CONF" | tee -a ${LOGFILE} + +# Set __MAKE_CONF variable if it's not already set. +if [ -z "${MAKE_CONF:-}" ]; then + MAKE_CONF="" +else + MAKE_CONF="__MAKE_CONF=$MAKE_CONF" + echo ">>> Setting MAKE_CONF to $MAKE_CONF" | tee -a ${LOGFILE} +fi + +cd $SRCDIR + +unset EXTRA + +makeargs="${MAKEOPT:-} ${MAKEJ_WORLD:-} ${MAKE_CONF} SRCCONF=${SRC_CONF} TARGET=${ARCH} TARGET_ARCH=${ARCH}" + +if [ "$ARCH" = "mips" ]; then + echo ">>> Building includes for ${ARCH} architecture..." | tee -a ${LOGFILE} + make buildincludes 2>&1 >/dev/null + echo ">>> Installing includes for ${ARCH} architecture..." | tee -a ${LOGFILE} + make installincludes 2>&1 >/dev/null +fi + +echo ">>> Building world for ${ARCH} architecture..." | tee -a ${LOGFILE} +echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} buildworld" | tee -a ${LOGFILE} +make buildincludes 2>&1 >/dev/null +make installincludes 2>&1 >/dev/null +(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} buildworld || print_error;) | egrep '^>>>' | tee -a ${LOGFILE} + +cd $LOCALDIR diff --git a/freesbie2/scripts/cleandir.sh b/freesbie2/scripts/cleandir.sh new file mode 100755 index 0000000..8bc7788 --- /dev/null +++ b/freesbie2/scripts/cleandir.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: cleandir.sh,v 1.3 2008/11/09 07:00:32 sullrich Exp $ + +set +e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +echo -n ">>> Removing build directories" + +if [ -d "${BASEDIR}" ]; then + BASENAME=`basename ${BASEDIR}` + echo -n "$BASENAME " + chflags -R noschg ${BASEDIR} + rm -rf ${BASEDIR} 2>/dev/null +fi + +if [ -d "${CLONEDIR}" ]; then + BASENAME=`basename ${CLONEDIR}` + echo -n "$BASENAME " + chflags -R noschg ${CLONEDIR} + rm -rf ${CLONEDIR} 2>/dev/null +fi + +set -e -u + +echo "Done!" diff --git a/freesbie2/scripts/clonefs.sh b/freesbie2/scripts/clonefs.sh new file mode 100755 index 0000000..6f1793d --- /dev/null +++ b/freesbie2/scripts/clonefs.sh @@ -0,0 +1,219 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: clonefs.sh,v 1.7 2008/05/05 22:49:19 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +# Local functions + +# create_vnode ${UFSFILE} ${PARTITION} +# +# Create a loop filesystem in file ${UFSFILE} containing files under +# ${PARTITION} directory (relative path from /) +create_vnode() { + UFSFILE=$1; shift + PARTITION=$1; shift + + echo "->create_vnode() ${UFSFILE} ${PARTITION}" >> ${LOGFILE} + + SOURCEDIR=${BASEDIR}/${PARTITION} + DESTMOUNTPOINT=${CLONEDIR}/${PARTITION} + + cd $SOURCEDIR + + # Find the total dir size and initialize the vnode + DIRSIZE=$(($(du -kd 0 | cut -f 1))) + FSSIZE=$(($DIRSIZE + ($DIRSIZE/5))) + rm -f ${UFSFILE} + dd if=/dev/zero of=${UFSFILE} bs=1k count=1 seek=$((${FSSIZE} - 1)) >> ${LOGFILE} 2>&1 + + DEVICE=/dev/$(mdconfig -a -t vnode -f ${UFSFILE}) + newfs -o space ${DEVICE} >> ${LOGFILE} 2>&1 + mkdir -p ${DESTMOUNTPOINT} + mount -o noatime ${DEVICE} ${DESTMOUNTPOINT} + echo ${DEVICE} +} + +# umount_md_devices ${DEV} [ ${DEV} [ ... ] ] +# +# Umount and detach md devices passed as parameters +umount_md_devices() { + echo "->umount_md_devices() $@" >> ${LOGFILE} + for i in $@; do + umount ${i} + mdconfig -d -u ${i} + done +} + +# uzip ${UFSFILE} ${UZIPFILE} +# +# makes an uzip fs on ${UZIPFILE} starting from ${UFSFILE} and removes +# ${UFSFILE} +uzip() { + UFSFILE=$1; shift + UZIPFILE=$1; + + echo -n ">>> Compressing ${UFSFILE}..." + mkuzip -v -s 65536 -o ${UZIPFILE} ${UFSFILE} >> ${LOGFILE} 2>&1 + [ $? -ne 0 ] && print_error + + UFSSIZE=$(ls -l ${UFSFILE} | awk '{print $5}') + UZIPSIZE=$(ls -l ${UZIPFILE} | awk '{print $5}') + + PERCENT=$(awk -v ufs=${UFSSIZE} -v uzip=${UZIPSIZE} 'BEGIN{print (100 - (100 * (uzip/ufs)));}') + rm -f ${UFSFILE} + + echo " ${PERCENT}% saved" +} + + +# clone_system +# +# Clone BASEDIR content to CLONEDIR. + +clone_system() { + echo -n ">>> Cloning ${BASEDIR} to ${CLONEDIR}..." + + mkdir -p ${CLONEDIR} + + if [ `mount | grep ${CLONEDIR} | wc -l` -gt 0 ]; then + MOUNTPOINT=`mount | grep ${CLONEDIR} | awk '{ print $3 }'` + echo ">>> Attempting umount of $MOUNTPOINT" + umount -f $MOUNTPOINT + if [ `mount | grep ${CLONEDIR} | wc -l` -gt 0 ]; then + echo ">>> ERROR! Could not umount $MOUNTPOINT" + print_error + fi + fi + + if [ -d "${CLONEDIR}" ]; then + chflags -R noschg ${CLONEDIR} + rm -rf ${CLONEDIR} + fi + + if [ -z "${NO_COMPRESSEDFS:-}" ]; then + # Preparing loop filesystem to be compressed + mkdir -p ${CLONEDIR}/uzip + + USRDEVICE=$(create_vnode ${CLONEDIR}/uzip/usr.ufs usr) + DEVICES=${USRDEVICE} + + # When NO_UNIONFS is set, we prefer using a mdmfs var (created + # automatically by rc.d scripts + if [ -z "${NO_UNIONFS:-}" ]; then + VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var) + DEVICES="${DEVICES} ${VARDEVICE}" + fi + trap "umount_md_devices ${DEVICES}; exit 1" INT + fi + + echo "Done!" + + cd ${BASEDIR} + + # If FILE_LIST isn't defined... + if [ -z "${FILE_LIST:-}" ]; then + # then copy the whole filesystem + FBSD_VERSION=`/usr/bin/uname -r | /usr/bin/cut -d"." -f1` + if [ "$FBSD_VERSION" -gt "7" ]; then + echo ">>> Using TAR to clone..." + mkdir -p ${CLONEDIR} + tar cf - * | ( cd /$CLONEDIR; tar xfp -) + else + echo ">>> Using CPIO to clone..." + find . -print -depth | cpio -dump -l -v ${CLONEDIR} >> ${LOGFILE} 2>&1 + fi + else + # else pass it to cpio + if [ -f ${FILE_LIST} ]; then + echo "Using ${FILE_LIST} as source" | tee -a ${LOGFILE} + sed 's/^#.*//g' ${FILE_LIST} | cpio -dump -l -v ${CLONEDIR} >> ${LOGFILE} 2>&1 + else + echo "${FILE_LIST} is not a valid path, exiting..." | tee -a ${LOGFILE} + if [ -z "${NO_COMPRESSEDFS:-}" ]; then + umount_md_devices ${DEVICES} + fi + exit 1 + fi + fi + + if [ ! -f $CLONEDIR/sbin/init ]; then + + fi + + # If PRUNE_LIST file exists, delete files and dir listed in it + if [ -n "${PRUNE_LIST:-}" ]; then + if [ -f ${PRUNE_LIST} ]; then + echo ">>> Deleting files listed in ${PRUNE_LIST}" | tee -a ${LOGFILE} + set +e + (cd ${CLONEDIR} && sed 's/^#.*//g' ${PRUNE_LIST} | xargs rm -rvf >> ${LOGFILE} 2>&1) + if [ -z "${NO_COMPRESSEDFS:-}" ]; then + echo ">>> Filling the uncompressed fs with zeros to compress better" + echo ">>> Don't worry if you see a 'filesystem full' message here" + zerofile=$(env TMPDIR=${CLONEDIR}/usr mktemp -t zero) + dd if=/dev/zero of=${zerofile} >> ${LOGFILE} 2>&1 + rm ${zerofile} + fi + set -e + else + echo "${PRUNE_LIST} isn't a regular file, skipping file deletion" | tee -a ${LOGFILE} + fi + fi + + if [ -z "${NO_UNIONFS:-}" ]; then + # Preparing unionfs environment + mkdir -p ${CLONEDIR}/dist ${CLONEDIR}/mnt/union + + # Declaring dirs to be union'ed. UNION_DIRS contain all the + # directories to be union'ed. UNION_DIRS_MTREE specify which + # directories should recover permissions (perhaps lost by + # the iso filesystem e.g.: etc, root) + + UNION_DIRS=${UNION_DIRS:-"etc usr root var"} + UNION_DIRS_MTREE=${UNION_DIRS_MTREE:-"etc root"} + + rm -f ${CLONEDIR}/dist/uniondirs + for dir in ${UNION_DIRS}; do + echo ${dir} >> ${CLONEDIR}/dist/uniondirs + done + + for dir in ${UNION_DIRS_MTREE}; do + # Saving directory structure + mtree -Pcp ${BASEDIR}/${dir} > ${CLONEDIR}/dist/${dir}.dirs + done + fi + + if [ -z "${NO_COMPRESSEDFS:-}" ]; then + umount_md_devices ${DEVICES} + trap "" INT + uzip $CLONEDIR/uzip/usr.ufs $CLONEDIR/uzip/usr.uzip + if [ -z "${NO_UNIONFS:-}" ]; then + uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip + fi + # Copy the rc script for uzip files + cp ${LOCALDIR}/conf/rc.d/uzip ${CLONEDIR}/etc/rc.d/ + chmod 555 ${CLONEDIR}/etc/rc.d/uzip + fi + + if [ -z "${NO_UNIONFS:-}" ]; then + # Copy the rc script for unionfs + cp ${LOCALDIR}/conf/rc.d/unionfs ${CLONEDIR}/etc/rc.d/ + chmod 555 ${CLONEDIR}/etc/rc.d/unionfs + fi + +} + +clone_system + +cd ${LOCALDIR} diff --git a/freesbie2/scripts/compressfs.sh b/freesbie2/scripts/compressfs.sh new file mode 100755 index 0000000..e050e8e --- /dev/null +++ b/freesbie2/scripts/compressfs.sh @@ -0,0 +1,123 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: compressfs.sh,v 1.5 2008/05/05 21:02:57 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +# Local functions + +# create_vnode ${UFSFILE} ${PARTITION} +# +# Create a loop filesystem in file ${UFSFILE} containing files under +# ${PARTITION} directory (relative path from /) +create_vnode() { + UFSFILE=$1; shift + PARTITION=$1; shift + + echo "->create_vnode() ${UFSFILE} ${PARTITION}" >> ${LOGFILE} + + SOURCEDIR=${BASEDIR}/${PARTITION} + DESTMOUNTPOINT=${CLONEDIR}/${PARTITION} + + cd $SOURCEDIR + + # Find the total dir size and initialize the vnode + DIRSIZE=$(($(du -kd 0 | cut -f 1))) + FSSIZE=$(($DIRSIZE + ($DIRSIZE/5))) + rm -f ${UFSFILE} + dd if=/dev/zero of=${UFSFILE} bs=1k count=1 seek=$((${FSSIZE} - 1)) >> ${LOGFILE} 2>&1 + + DEVICE=/dev/$(mdconfig -a -t vnode -f ${UFSFILE}) + newfs -o space ${DEVICE} >> ${LOGFILE} 2>&1 + mkdir -p ${DESTMOUNTPOINT} + mount -o noatime ${DEVICE} ${DESTMOUNTPOINT} + echo ${DEVICE} +} + +# umount_md_devices ${DEV} [ ${DEV} [ ... ] ] +# +# Umount and detach md devices passed as parameters +umount_md_devices() { + echo "->umount_md_devices() $@" >> ${LOGFILE} + for i in $@; do + umount ${i} + mdconfig -d -u ${i} + done +} + +# uzip ${UFSFILE} ${UZIPFILE} +# +# makes an uzip fs on ${UZIPFILE} starting from ${UFSFILE} and removes +# ${UFSFILE} +uzip() { + UFSFILE=$1; shift + UZIPFILE=$1; + + echo -n "Compressing ${UFSFILE}..." + mkuzip -v -s 65536 -o ${UZIPFILE} ${UFSFILE} >> ${LOGFILE} 2>&1 + [ $? -ne 0 ] && print_error + + UFSSIZE=$(ls -l ${UFSFILE} | awk '{print $5}') + UZIPSIZE=$(ls -l ${UZIPFILE} | awk '{print $5}') + + PERCENT=$(awk -v ufs=${UFSSIZE} -v uzip=${UZIPSIZE} 'BEGIN{print (100 - (100 * (uzip/ufs)));}') + rm -f ${UFSFILE} + + echo " ${PERCENT}% saved" +} + +# compress_system + +compress_system() { + echo ">>> Compressing ${CLONEDIR}..." + + if [ -z "${NO_COMPRESSEDFS:-}" ]; then + # Preparing loop filesystem to be compressed + mkdir -p ${CLONEDIR}/uzip + + USRDEVICE=$(create_vnode ${CLONEDIR}/uzip/usr.ufs usr) + DEVICES=${USRDEVICE} + + # When NO_UNIONFS is set, we prefer using a mdmfs var (created + # automatically by rc.d scripts + if [ -z "${NO_UNIONFS:-}" ]; then + VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var) + DEVICES="${DEVICES} ${VARDEVICE}" + fi + trap "umount_md_devices ${DEVICES}; exit 1" INT + fi + + cd ${BASEDIR} + + if [ -z "${NO_COMPRESSEDFS:-}" ]; then + umount_md_devices ${DEVICES} + trap "" INT + uzip $CLONEDIR/uzip/usr.ufs $CLONEDIR/uzip/usr.uzip + if [ -z "${NO_UNIONFS:-}" ]; then + uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip + fi + + # Copy the rc script for uzip files + cp ${LOCALDIR}/conf/rc.d/uzip ${CLONEDIR}/etc/rc.d/ + chmod 555 ${CLONEDIR}/etc/rc.d/uzip + + rm -rf $CLONEDIR/usr/* + fi + + echo "Done!" +} + +compress_system + +cd ${LOCALDIR} diff --git a/freesbie2/scripts/custom/README b/freesbie2/scripts/custom/README new file mode 100755 index 0000000..4cbc17c --- /dev/null +++ b/freesbie2/scripts/custom/README @@ -0,0 +1,5 @@ +You can put here your custom scripts that override the default ones. +For example, if you copy buildkernel.sh into this directory, or even +into a subdirectory called ${ARCH} (e.g custom/i386/buildkernel.sh), +during the `buildkernel' phase your script will be called instead of +default. diff --git a/freesbie2/scripts/extra.sh b/freesbie2/scripts/extra.sh new file mode 100755 index 0000000..156cf68 --- /dev/null +++ b/freesbie2/scripts/extra.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: extra.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +if [ -z "${EXTRAPLUGINS:-}" ]; then + # No plugins selected, return with no errors + return +fi + +echo -n ">>> Running plugins:" + +for plugin in ${EXTRAPLUGINS}; do + echo -n " ${plugin}" + if [ -f "${LOCALDIR}/extra/${ARCH}/${plugin}.sh" ]; then + . ${LOCALDIR}/extra/${ARCH}/${plugin}.sh + elif [ -f "${LOCALDIR}/extra/${plugin}.sh" ]; then + . ${LOCALDIR}/extra/${plugin}.sh + else + # + fi +done + +echo " Done!" diff --git a/freesbie2/scripts/flash.sh b/freesbie2/scripts/flash.sh new file mode 100755 index 0000000..aa9bdac --- /dev/null +++ b/freesbie2/scripts/flash.sh @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: flash.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +echo ">>> Flashing bootable UFS image for ${ARCH}..." + +FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"} + +DEF_DEV=/dev/da0 + +echo -n "Device where your CF card is attached [${DEF_DEV}]: " +read DEVICE + +if [ -z "${DEVICE}" ]; then + DEVICE=$DEF_DEV +fi + +if [ ! -c "${DEVICE}" ]; then + echo "Unable to find ${DEVICE}, please check the pathname" + exit 1; +fi + +# Temporary mount point +TMPDIR=`mktemp -d -t freesbie` + +echo "Initializing ${DEVICE}..." + +fdisk -BI ${DEVICE} >> ${LOGFILE} 2>&1 + +bsdlabel -w -B ${DEVICE}s1 >> ${LOGFILE} 2>&1 + +newfs -b 4096 -f 512 -i 8192 -L ${FREESBIE_LABEL} -O1 -U ${DEVICE}s1a >> ${LOGFILE} 2>&1 +mount ${DEVICE}s1a ${TMPDIR} + +echo "Writing files..." + +cd ${CLONEDIR} +find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1 +echo "/dev/ufs/${FREESBIE_LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab +umount ${TMPDIR} +cd ${LOCALDIR} + +rm -rf ${TMPDIR} diff --git a/freesbie2/scripts/img.sh b/freesbie2/scripts/img.sh new file mode 100755 index 0000000..e36e5eb --- /dev/null +++ b/freesbie2/scripts/img.sh @@ -0,0 +1,71 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: img.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +echo ">>> Building bootable UFS image for ${ARCH}..." + +FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"} # UFS label + +# Temp file and directory to be used later +TMPFILE=`mktemp -t freesbie` +TMPDIR=`mktemp -d -t freesbie` + +# Size of cylinder in sectors +CYLSIZE=$((${SECTT} * ${HEADS})) + +# Number of cylinders +CYLINDERS=$((${SECTS} / ${CYLSIZE})) + +# Recalculate number of available sectors +SECTS=$((${CYLINDERS} * ${CYLSIZE})) + +echo "Initializing image..." +rm -f ${IMGPATH} +dd if=/dev/zero of=${IMGPATH} count=1 seek=$((${SECTS} - 1)) >> ${LOGFILE} 2>&1 + +# Attach the md device +DEVICE=`mdconfig -a -t vnode -f ${IMGPATH} -x ${SECTT} -y ${HEADS}` + +echo "g c${CYLINDERS} h${HEADS} s${SECTT}" > ${TMPFILE} +echo "p 1 165 ${SECTT} $((${SECTS} - ${SECTT}))" >> ${TMPFILE} +echo "a 1" >> ${TMPFILE} + +fdisk -BI ${DEVICE} >> ${LOGFILE} 2>&1 +fdisk -i -v -f ${TMPFILE} ${DEVICE} >> ${LOGFILE} 2>&1 + +bsdlabel -w -B ${DEVICE}s1 >> ${LOGFILE} 2>&1 + +newfs -b 4096 -f 512 -i 8192 -L ${FREESBIE_LABEL} -O1 -U ${DEVICE}s1a >> ${LOGFILE} 2>&1 +mount /dev/${DEVICE}s1a ${TMPDIR} + +echo "Done!" + +echo -n ">>> Writing files..." + +cd ${CLONEDIR} +find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1 +echo "/dev/ufs/${FREESBIE_LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab +umount ${TMPDIR} +cd ${LOCALDIR} + +mdconfig -d -u ${DEVICE} + +rm -f ${TMPFILE} +rm -rf ${TMPDIR} + +ls -lh ${IMGPATH} + +echo "Done!" \ No newline at end of file diff --git a/freesbie2/scripts/installkernel.sh b/freesbie2/scripts/installkernel.sh new file mode 100755 index 0000000..aceef1c --- /dev/null +++ b/freesbie2/scripts/installkernel.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: installkernel.sh,v 1.10 2008/11/03 04:17:14 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + sleep 999 + exit 1 +fi + +# Set SRC_CONF variable if it's not already set. +if [ -z "${SRC_CONF:-}" ]; then + if [ -n "${MINIMAL:-}" ]; then + SRC_CONF=${LOCALDIR}/conf/make.conf.minimal + else + SRC_CONF=${LOCALDIR}/conf/make.conf.${FREEBSD_VERSION} + fi +fi + +# Set __MAKE_CONF variable if it's not already set. +if [ -z "${MAKE_CONF:-}" ]; then + MAKE_CONF="" +else + MAKE_CONF="__MAKE_CONF=$MAKE_CONF" + echo ">>> Setting MAKE_CONF to $MAKE_CONF" +fi + +if [ -n "${KERNELCONF:-}" ]; then + export KERNCONFDIR=$(dirname ${KERNELCONF}) + export KERNCONF=$(basename ${KERNELCONF}) +elif [ -z "${KERNCONF:-}" ]; then + export KERNCONFDIR=${LOCALDIR}/conf/${ARCH} + export KERNCONF="FREESBIE" +fi + +mkdir -p ${BASEDIR}/boot +#cp ${SRCDIR}/sys/${ARCH}/conf/GENERIC.hints ${BASEDIR}/boot/device.hints +#echo hint.psm.0.flags=0x1000 >> ${BASEDIR}/boot/device.hints + +cd ${SRCDIR} + +if [ -z "${WITH_DTRACE:-}" ]; then + DTRACE="" +else + DTRACE=" WITH_CTF=1" +fi + +makeargs="${MAKEOPT:-} ${MAKEJ_KERNEL:-} ${MAKE_CONF} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${KERNEL_DESTDIR}" + +echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} installkernel ${DTRACE}" > ${BUILDER_LOGS}/freesbie2/freesbie_installkernel_cmd.txt + +(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} installkernel || print_error;) | egrep '^>>>' + +gzip -f9 $KERNEL_DESTDIR/boot/kernel/kernel + +cd $LOCALDIR + + diff --git a/freesbie2/scripts/installworld.sh b/freesbie2/scripts/installworld.sh new file mode 100755 index 0000000..0519971 --- /dev/null +++ b/freesbie2/scripts/installworld.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: installworld.sh,v 1.11 2008/11/08 21:15:15 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + sleep 999 + exit 1 +fi + +if [ -n "${NO_INSTALLWORLD:-}" ]; then + echo "+++ NO_INSTALLWORLD set, skipping install" | tee -a ${LOGFILE} + return +fi + +echo ">>> Installing world for ${ARCH} architecture..." + +# Set SRC_CONF variable if it's not already set. +if [ -z "${SRC_CONF:-}" ]; then + if [ -n "${MINIMAL:-}" ]; then + SRC_CONF=${LOCALDIR}/conf/src.conf.minimal + else + SRC_CONF=${LOCALDIR}/conf/src.conf + fi +fi +echo ">>> Setting SRC_CONF to $SRC_CONF" | tee -a ${LOGFILE} + +# Set __MAKE_CONF variable if it's not already set. +if [ -z "${MAKE_CONF:-}" ]; then + MAKE_CONF="" +else + MAKE_CONF="__MAKE_CONF=$MAKE_CONF" + echo ">>> Setting MAKE_CONF to $MAKE_CONF" | tee -a ${LOGFILE} +fi + +mkdir -p ${BASEDIR} + +cd ${SRCDIR} + +makeargs="${MAKEOPT:-} ${MAKEJ_WORLD:-} ${MAKE_CONF} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}" + +echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} installworld" | tee -a ${LOGFILE} + +# make installworld +(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} installworld || print_error;) | egrep '^>>>' | tee -a ${LOGFILE} + +makeargs="${MAKEOPT:-} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}" + +set +e + +echo ">>> FreeSBIe2 is running the command: env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} distribution" | tee -a ${LOGFILE} + +# make distribution +(env "$MAKE_ENV" script -aq $LOGFILE make ${makeargs:-} distribution || print_error;) | egrep '^>>>' | tee -a ${LOGFILE} + +set -e + +cd $LOCALDIR diff --git a/freesbie2/scripts/iso.sh b/freesbie2/scripts/iso.sh new file mode 100755 index 0000000..30a9437 --- /dev/null +++ b/freesbie2/scripts/iso.sh @@ -0,0 +1,73 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: iso.sh,v 1.3 2008/11/08 21:23:31 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"} + +echo ">>> Building bootable ISO image for ${ARCH}" | tee -a ${LOGFILE} + +# This part was taken from the mkisoimages.sh scripts under +# /usr/src/release/${ARCH}/ +set +e +type mkisofs 2>&1 | grep " is " >/dev/null +if [ $? -ne 0 ]; then + echo The cdrtools port is not installed. Trying to get it now. + if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then + cd /usr/ports/sysutils/cdrtools && make install BATCH=yes && make clean + elif [ $FREEBSD_VERSION -ge 10 ]; then + if ! pkg install cdrtools; then + echo "Could not get it via pkg install - please go install this" | tee -a ${LOGFILE} + echo "from the ports collection and run this script again." | tee -a ${LOGFILE} + exit 2 + fi + else + if ! pkg_add -r cdrtools; then + echo "Could not get it via pkg_add - please go install this" | tee -a ${LOGFILE} + echo "from the ports collection and run this script again." | tee -a ${LOGFILE} + exit 2 + fi + fi +fi +set -e + +echo ">>> Saving mtree structure..." | tee -a ${LOGFILE} +mtree -Pcp ${CLONEDIR} | bzip2 -9 > root.dist.bz2 +mkdir -p ${CLONEDIR}/dist +mv root.dist.bz2 ${CLONEDIR}/dist/ + +echo "/dev/iso9660/${FREESBIE_LABEL} / cd9660 ro 0 0" > ${CLONEDIR}/etc/fstab + +cd ${CLONEDIR} + +# Detect if mkisofs support -L or -posix-L +if mkisofs --help 2>&1 | grep -q -- -posix-L; then + LOPT="-posix-L" +else + LOPT="-L" +fi + +echo ">>> Running mkisofs..." | tee -a ${LOGFILE} + + +echo ">>> FreeSBIe2 is running the command: cd ${CLONEDIR} ; mkisofs -b boot/cdboot -no-emul-boot -J -r -ldots -l ${LOPT} -V ${FREESBIE_LABEL} -p FreeSBIE -o $ISOPATH ." | tee -a ${LOGFILE} + +mkisofs -b boot/cdboot -no-emul-boot -J -r -ldots -l ${LOPT} -V ${FREESBIE_LABEL} -p pfSense -o $ISOPATH . + +echo "ISO created:" | tee -a ${LOGFILE} + +ls -lh ${ISOPATH} + +cd ${LOCALDIR} diff --git a/freesbie2/scripts/launch.sh b/freesbie2/scripts/launch.sh new file mode 100755 index 0000000..00a6926 --- /dev/null +++ b/freesbie2/scripts/launch.sh @@ -0,0 +1,119 @@ +#!/bin/sh +# +# Wrapper to include configuration variables and invoke correct scripts +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for license terms. +# +# $FreeBSD$ +# $Id: launch.sh,v 1.8 2008/12/30 23:24:09 smos Exp $ +# +# Usage: launch.sh ${TARGET} [ ${LOGFILE} ] + +set -e -u + +if [ "`id -u`" != "0" ]; then + echo "Sorry, this must be done as root." + sleep 999 + exit 1 +fi + +# If the FREESBIE_DEBUG environment variable is set, be verbose. +[ ! -z "${FREESBIE_DEBUG:-}" ] && set -x + +# Set the absolute path for the toolkit dir +LOCALDIR=$(cd $(dirname $0)/.. && pwd) + +CURDIR=$1; +shift; + +TARGET=$1; +shift; + +# Set LOGFILE. If it's a tmp file, schedule for deletion +if [ -z "${LOGFILE:-}" ]; then + if [ -n "${1:-}" ]; then + LOGFILE=$1 + REMOVELOG=0 + else + LOGFILE=$(mktemp -q /tmp/freesbie.XXXXXX) + REMOVELOG=1 + fi +else + REMOVELOG=0 +fi + +echo ">>> LOGFILE set to $LOGFILE. REMOVELOG is $REMOVELOG." | tee -a ${LOGFILE} +cd $CURDIR + +. ./conf/freesbie.defaults.conf + +FREESBIE_CONF=${FREESBIE_CONF:-./conf/freesbie.conf} + +[ -f ${FREESBIE_CONF} ] && . ${FREESBIE_CONF} + +# XXX set $ARCH and mandatory variables here. + +if [ ! -z "${ARCH:-}" ]; then + ARCH=${ARCH:-`uname -p`} +fi + +# Some variables can be passed to make only as environment, not as parameters. +# usage: env $MAKE_ENV make $makeargs +MAKE_ENV=${MAKE_ENV:-} + +if [ -n ${MAKEOBJDIRPREFIX:-} ]; then + MAKE_ENV="$MAKE_ENV MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}" +fi + +if [ -n ${MAKEOBJDIR:-} ]; then + MAKE_ENV="$MAKE_ENV MAKEOBJDIR=${MAKEOBJDIR}" +fi + +echo ">>> MAKE_ENV set on launch.sh to $MAKE_ENV" | tee -a ${LOGFILE} + +report_error() { + if [ ! -z ${FREESBIE_ERROR_MAIL:-} ]; then + HOSTNAME=`hostname` + IPADDRESS=`ifconfig | grep inet | grep netmask | grep broadcast | awk '{ print $2 }'` + cat ${LOGFILE} | \ + mail -s "FreeSBIE (pfSense) build error in ${TARGET} phase ${IPADDRESS} - ${HOSTNAME} " \ + ${FREESBIE_ERROR_MAIL} + fi +} + +print_error() { + echo "Something went wrong, check errors!" >&2 + [ -n "${LOGFILE:-}" ] && \ + echo "Log saved on ${LOGFILE}" >&2 + report_error + tail -n20 ${LOGFILE} >&2 + sleep 999 + kill $$ # XXX exit 1 won't work. +} + +# If SCRIPTS_OVERRIDE is not defined, set it to ${LOCALDIR}/scripts/custom +SCRIPTS_OVERRIDE=${SCRIPTS_OVERRIDE:-"${LOCALDIR}/scripts/custom"} + +# Check order: +# - ${SCRIPTS_OVERRIDE}/${ARCH}/${TARGET}.sh +# - ${SCRIPTS_OVERRIDE}/${TARGET}.sh +# - scripts/${ARCH}/${TARGET}.sh +# - scripts/${TARGET}.sh + +if [ -f "${SCRIPTS_OVERRIDE}/${ARCH}/${TARGET}.sh" ]; then + . ${SCRIPTS_OVERRIDE}/${ARCH}/${TARGET}.sh +elif [ -f "${SCRIPTS_OVERRIDE}/${TARGET}.sh" ]; then + . ${SCRIPTS_OVERRIDE}/${TARGET}.sh +elif [ -f "${LOCALDIR}/scripts/${ARCH}/${TARGET}.sh" ]; then + . ${LOCALDIR}/scripts/${ARCH}/${TARGET}.sh +elif [ -f "${LOCALDIR}/scripts/${TARGET}.sh" ]; then + . ${LOCALDIR}/scripts/${TARGET}.sh +fi + +[ $? -ne 0 ] && report_error + +if [ ${REMOVELOG} -eq 1 ]; then + rm -f ${LOGFILE} +fi diff --git a/freesbie2/scripts/pkginstall.sh b/freesbie2/scripts/pkginstall.sh new file mode 100755 index 0000000..bb1874b --- /dev/null +++ b/freesbie2/scripts/pkginstall.sh @@ -0,0 +1,202 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: pkginstall.sh,v 1.19 2007/01/16 10:14:46 rionda Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +#$BASE_DIR/tools/builder_scripts/packages + +PFSPKGFILE=/tmp/pfspackages + +if [ ! -f ${PFSPKGFILE} ]; then + return +fi + +if [ "${ARCH}" != "$(uname -p)" ]; then + echo "----------------------------------------------------------" + echo "You can install packages only if your machine architecture" + echo "is the same of the target architecture." + echo "----------------------------------------------------------" + echo "Skipping package installation." + sleep 5 + return +fi + +WORKDIR=$(mktemp -d -t freesbie) +CHROOTWD=$(TMPDIR=${BASEDIR}/tmp mktemp -d -t freesbie) + +escape_pkg() { + echo $1 | sed 's/\+/\\\+/' +} + +find_origins() { + cd ${WORKDIR} + touch origins + echo -n ">>> Finding origins... " + while read row; do + if [ -z "${row}" ]; then continue; fi + set +e + if (echo ${row} | grep -q "^#"); then continue; fi + set -e + + pkg=$(echo $row | cut -d\ -f 1) + + # pkg_info might fail if the listed package isn't present + set +e + origins=$(pkg_info -EX "^$(escape_pkg ${pkg})($|-[^-]+$)") + retval=$? + set -e + if [ ${retval} -eq 0 ]; then + # Valid origin(s) found + for origin in ${origins}; do + echo ${origin} >> tmp_origins + done + else + echo + echo "Warning! Package \"${pkg}\" is listed" + echo "in ${PFSPKGFILE}," + echo "but is not present in your system. " + echo "Press CTRL-C in ten seconds if you want" + echo "to stop now or I'll continue anyway" + sleep 10 + fi + done < ${PFSPKGFILE} + if [ -f tmp_origins ]; then + sort -u tmp_origins > origins + tot=$(wc -l origins | awk '{print $1}') + echo "${tot} found" + else + echo "none found" + fi +} + +find_deps() { + cd ${WORKDIR} + touch deps + echo -n ">>> Finding dependencies... " + while read pkg; do + deps=$(pkg_info -qr ${pkg} | cut -d ' ' -f 2) + for dep in ${deps}; do + echo ${dep} >> tmp_deps + done + + + done < origins + if [ -f tmp_deps ]; then + sort -u tmp_deps > deps + tot=$(wc -l deps | awk '{print $1}') + echo "${tot} found" + else + echo "none found" + fi +} + +sort_packages() { + cd ${WORKDIR} + pkgfile=${WORKDIR}/packages + presortfile=${WORKDIR}/presortpkg + sortfile=${WORKDIR}/sortpkg + sort -u deps origins > $pkgfile + + [ -f $sortfile ] && rm $sortfile + touch $sortfile + + count() { + file=$1; + echo $(wc -l ${file} | awk '{print $1}') + } + + totpkg=$(wc -l $pkgfile | awk '{print $1}') + echo -n ">>> Sorting ${totpkg} packages by dependencies... " + + touch $presortfile + for i in $(cat $pkgfile); do + if [ -e /var/db/pkg/$i/+REQUIRED_BY ]; then + for j in $(cat /var/db/pkg/$i/+REQUIRED_BY); do + if grep -q ^${j}\$ $pkgfile; then + echo $i $j >> $presortfile + else + echo $i NULL >> $presortfile + fi + done + else + echo $i NULL >> $presortfile + fi + done + + tsort $presortfile | grep -v '^NULL$' > $sortfile + + echo "done." +} + +copy_packages() { + export PACKAGE_BUILDING=yo + chrootpkgpath=${CHROOTWD#$BASEDIR} + pkgfile=${WORKDIR}/sortpkg + pkgaddcmd="chroot ${BASEDIR} pkg_add -fv" + totpkg=$(wc -l $pkgfile | awk '{print $1}') + echo ">>> Copying ${totpkg} packages" + cd ${CHROOTWD} + set +e + echo -n "[0" + count=1 + while read pkg; do + # Progress bar + if [ $((${count} % 10)) -eq 0 ]; then + echo -n ${count} + else + echo -n "." + fi + count=$((${count} + 1)) + + echo ">>> Running pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar" >> ${LOGFILE} + pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar >> ${LOGFILE} 2>&1 + + echo ">>> Running $pkgaddcmd ${chrootpkgpath}/${pkg}.tar" >> ${LOGFILE} + $pkgaddcmd ${chrootpkgpath}/${pkg}.tar >> ${LOGFILE} 2>&1 + + rm ${CHROOTWD}/${pkg}.tar + + done < $pkgfile + echo "]" + set -e +} + +delete_old_packages() { + echo ">>> Deleting previously installed packages" + chroot ${BASEDIR} pkg_delete -a >> ${LOGFILE} 2>&1 +} + +# Deletes workdirs +purge_wd() { + cd ${LOCALDIR} + rm -rf ${WORKDIR} ${BASEDIR}/tmp/freesbie* +} + +trap "purge_wd && exit 1" INT + +echo ">>> Installing packages listed in ${PFSPKGFILE}" +find_origins + +if [ "$(wc -l ${WORKDIR}/origins | awk '{print $1}')" = "0" ]; then + # Empty packages file, skip. + purge_wd + return +fi + +find_deps +sort_packages +#delete_old_packages +copy_packages +purge_wd diff --git a/freesbie2/scripts/pkgnginstall.sh b/freesbie2/scripts/pkgnginstall.sh new file mode 100755 index 0000000..1072151 --- /dev/null +++ b/freesbie2/scripts/pkgnginstall.sh @@ -0,0 +1,215 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: pkginstall.sh,v 1.19 2007/01/16 10:14:46 rionda Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +#$BASE_DIR/tools/builder_scripts/packages + +PFSPKGFILE=${PFSPKGFILE:-/tmp/pfspackages} + +if [ ! -f ${PFSPKGFILE} ]; then + return +fi + +if [ "${ARCH}" != "$(uname -p)" ]; then + echo "----------------------------------------------------------" + echo "You can install packages only if your machine architecture" + echo "is the same of the target architecture." + echo "----------------------------------------------------------" + echo "Skipping package installation." + sleep 5 + return +fi + +WORKDIR=$(mktemp -d -t freesbie) + +prepare_environment() { + rm -r ${PFSENSEBASEDIR}/var/db/pkg + cp -r /var/db/pkg ${PFSENSEBASEDIR}/var/db +} + +cleanup_environment() { + rm -r ${PFSENSEBASEDIR}/var/db/pkg + mkdir -p ${PFSENSEBASEDIR}/var/db/pkg +} + +escape_pkg() { + echo $1 | sed 's/\+/\\\+/' +} + +find_origins() { + cd ${WORKDIR} + touch origins + echo -n ">>> Finding origins... " | tee -a ${LOGFILE} + while read row; do + if [ -z "${row}" ]; then continue; fi + set +e + if (echo ${row} | grep -q "^#"); then continue; fi + set -e + + pkg=$(echo $row | cut -d\ -f 1) + + # pkg query might fail if the listed package isn't present + set +e + origins=$(pkg query -x %n-%v "^$(escape_pkg ${pkg})($|-[^-]+$)") + retval=$? + set -e + if [ ${retval} -eq 0 ]; then + # Valid origin(s) found + for origin in ${origins}; do + echo ${origin} >> tmp_origins + done + else + echo + echo "Warning! Package \"${pkg}\" is listed" | tee -a ${LOGFILE} + echo "in ${PFSPKGFILE}," | tee -a ${LOGFILE} + echo "but is not present in your system. " | tee -a ${LOGFILE} + echo "Press CTRL-C in ten seconds if you want" | tee -a ${LOGFILE} + echo "to stop now or I'll continue anyway" | tee -a ${LOGFILE} + echo " " | tee -a ${LOGFILE} + + sleep 10 + fi + done < ${PFSPKGFILE} + if [ -f tmp_origins ]; then + sort -u tmp_origins > origins + tot=$(wc -l origins | awk '{print $1}') + echo "${tot} found" | tee -a ${LOGFILE} + else + echo "none found" | tee -a ${LOGFILE} + fi +} + +find_deps() { + cd ${WORKDIR} + touch deps + echo ">>> Finding dependencies... " | tee -a ${LOGFILE} + while read pkg; do + deps=$(pkg info -qd ${pkg}) + for dep in ${deps}; do + echo ">>>>> Dependency ${dep} found... " >> ${LOGFILE} + echo ${dep} >> tmp_deps + done + + + done < origins + if [ -f tmp_deps ]; then + sort -u tmp_deps > deps + tot=$(wc -l deps | awk '{print $1}') + echo ">>> Total: ${tot} dependencies found" | tee -a ${LOGFILE} + else + echo ">>> No dependencies found" | tee -a ${LOGFILE} + fi +} + +sort_packages() { + cd ${WORKDIR} + pkgfile=${WORKDIR}/packages + presortfile=${WORKDIR}/presortpkg + sortfile=${WORKDIR}/sortpkg + sort -u deps origins > $pkgfile + + [ -f $sortfile ] && rm $sortfile + touch $sortfile + + totpkg=$(wc -l $pkgfile | awk '{print $1}') + echo -n ">>> Sorting ${totpkg} packages by dependencies... " | tee -a ${LOGFILE} + + touch $presortfile + for i in $(cat $pkgfile); do + _REQUIREDPKG=`pkg info -rq $i` + echo "Found: ${_REQUIREDPKG}" >> ${LOGFILE} + _COUNG_DEP=`echo $_REQUIREDPKG | wc -l` + if [ $_COUNG_DEP -gt 0 ]; then + for j in $_REQUIREDPKG; do + if grep -q ^${j}\$ $pkgfile; then + echo $i $j >> $presortfile + else + echo $i NULL >> $presortfile + fi + done + else + echo $i NULL >> $presortfile + fi + done + + tsort $presortfile | grep -v '^NULL$' > $sortfile + + echo "done." | tee -a ${LOGFILE} +} + +copy_packages() { + export PACKAGE_BUILDING=yo + chrootpkgpath="${BASEDIR}/${WORKDIR}" + pkgfile=${WORKDIR}/sortpkg + pkgaddcmd="pkg -c ${BASEDIR} add -f" + totpkg=$(wc -l $pkgfile | awk '{print $1}') + echo ">>> Copying ${totpkg} packages" | tee -a ${LOGFILE} + mkdir -p ${chrootpkgpath} + + set +e + echo -n "[0" + count=1 + while read pkg; do + # Progress bar + if [ $((${count} % 10)) -eq 0 ]; then + echo -n ${count} + else + echo -n "." + fi + count=$((count + 1)) + + echo ">>> Running pkg create -o ${chrootpkgpath} ${pkg}" >> ${LOGFILE} + pkg create -o ${chrootpkgpath} -f txz ${pkg} >> ${LOGFILE} 2>&1 + + echo ">>> Running $pkgaddcmd ${WORKDIR}/${pkg}.txz" >> ${LOGFILE} + $pkgaddcmd ${WORKDIR}/${pkg}.txz >> ${LOGFILE} 2>&1 + + rm ${chrootpkgpath}/${pkg}.txz + + done < $pkgfile + echo "]" | tee -a ${LOGFILE} + set -e +} + +delete_old_packages() { + echo ">>> Deleting previously installed packages" | tee -a ${LOGFILE} + pkg -c ${BASEDIR} delete -a >> ${LOGFILE} 2>&1 +} + +# Deletes workdirs +purge_wd() { + cd ${LOCALDIR} + rm -rf ${WORKDIR} ${BASEDIR}/${WORKDIR} +} + +trap "purge_wd && exit 1" INT + +echo ">>> Installing packages listed in ${PFSPKGFILE}" | tee -a ${LOGFILE} +find_origins + +if [ "$(wc -l ${WORKDIR}/origins | awk '{print $1}')" = "0" ]; then + # Empty packages file, skip. + purge_wd + return +fi + +prepare_environment +find_deps +sort_packages +#delete_old_packages +copy_packages +purge_wd +cleanup_environment diff --git a/freesbie2/scripts/pkgselect.sh b/freesbie2/scripts/pkgselect.sh new file mode 100755 index 0000000..5fa4588 --- /dev/null +++ b/freesbie2/scripts/pkgselect.sh @@ -0,0 +1,219 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: pkgselect.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ + +set -e -u + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +WORKDIR=$(mktemp -d -t freesbie) +PFSPFSPKGFILE=${PFSPFSPKGFILE:-${LOCALDIR}/packages}; + +# Check if there are packages installed on the system +check_pkgs() { + count=$(pkg_info -Qoa | wc -l) + if [ ${count} -eq 0 ]; then + /usr/bin/dialog --title "FreeSBIE Packages selection" --clear \ + --msgbox "Sorry, you don't have any packages installed.\n\nPlease install at least the packages you want\nto include in your distribution." 10 50 + exit + fi +} + +escape_pkg() { + echo $1 | sed 's/\+/\\\+/' +} + +create_lists() { + cd ${WORKDIR} + echo "Creating list of available packages on the build machine..." + + # Create a different file for each category. Each row in each file + # will look like: + # PKGNAME PKGNAME-version + pkg_info -Qoa | awk \ +' BEGIN { FS=":|/" } +{ + a=$1; + gsub("-[^-]+$", "", a); + system("echo " $1 " >> " $2 ".src"); +} +'; + + CATEGORIES=$(basename -s '.src' *.src) + + # If PFSPKGFILE already exists, find the listed packages and write + # them down in the proper category selection files + if [ -f ${PFSPKGFILE} ]; then + + echo "Using ${PFSPKGFILE} as source..." + + while read row; do + if [ -z ${row} ]; then continue; fi + pkg=$(echo $row | cut -d\ -f 1) + + # pkg_info might fail if the listed package isn't present + set +e + origins=$(pkg_info -QoX "^$(escape_pkg ${pkg})($|-[^-]+$)") + retval=$? + set -e + if [ ${retval} -eq 0 ]; then + # Valid origin(s) found + for origin in ${origins}; do + echo ${origin} | awk \ +' BEGIN { FS=":|/" } +{ + system("echo " $1 " >> " $2 ".sel"); +} +'; + done + else + echo + echo "Warning! Package \"${pkg}\" is listed" + echo "in ${PFSPKGFILE}," + echo "but is not present in your system. " + echo "Press CTRL-C in ten seconds if you want" + echo "to stop now or I'll continue anyway" + sleep 10 + fi + done < ${PFSPKGFILE} + fi +} + +category_dialog() { + CATEGORY=$1; + ARG="" + + cd ${WORKDIR} + if [ -f ${CATEGORY}.src ]; then + while read i; + do + # If a file with previous selections exists check whether + # this package is selected or not + status="off" + if [ -f ${CATEGORY}.sel ]; then + # grep might exit with error + set +e + grep -qE "^${i}($|-[^-]+$)" ${CATEGORY}.sel; + retval=$? + set -e + if [ ${retval} -eq 0 ]; then + status="on"; + fi + fi + ARG="${ARG} ${i} \"\" ${status}" + done < ${CATEGORY}.src + fi + + # Construct the dialog command line + CMD='/usr/bin/dialog --title "FreeSBIE Packages selection" --clear \ + --checklist \ + "These are the available packages under the '${CATEGORY}' category" \ + -1 -1 10 '${ARG}' 2> '${CATEGORY}.tmp + # Disabling -e flag because dialog can exit with values different + # than zero. + set +e + # Running dialog + eval "$CMD" + retval=$? + set -e + case ${retval} in + 0) + # Put the list of selected packages in ${CATEGORY}.sel, one per row + rm -f ${CATEGORY}.sel + pkglist=$(cat ${CATEGORY}.tmp) + if [ -n "${pkglist}" ]; then + for pkg in ${pkglist}; do + eval "echo ${pkg} >> ${CATEGORY}.sel" + done + fi + ;; + *) + # Abnormal exit, don't do anything + ;; + esac + + main_dialog +} + +main_dialog() { + ARG="" + for i in $CATEGORIES; + do + ARG="${ARG} ${i} \"\"" + done + + # Construct the dialog command line + CMD='/usr/bin/dialog --title "FreeSBIE Packages selection" --clear \ + --menu "These are the available packages on your system \n \ + Choose packages to include in FreeSBIE" -1 -1 10 \ + "save and exit" "" " " "" '${ARG}' 2> '${WORKDIR}/cat_choice + + # Disabling -e flag because dialog can exit with values different + # than zero. + set +e + # Running dialog + eval "$CMD" + retval=$? + set -e + case ${retval} in + 0) + choice=$(cat ${WORKDIR}/cat_choice) + case ${choice} in + save*and*exit) + collect_save + ;; + *) + if [ -z ${choice} ]; then + # The empty row case + main_dialog + else + category_dialog ${choice} + fi + ;; + esac + ;; + *) + echo "Exiting without saving" + ;; + esac + +} + +collect_save() { + cd ${WORKDIR} + # Ugly way to find if *.sel is expanded to a list of files + for i in *.sel; do + if [ -f ${i} ]; then + # There's at least one .sel file + sort *.sel > ${PFSPKGFILE} + echo "List of packages saved on ${PFSPKGFILE}" + else + echo "No packages selected, removing ${PFSPKGFILE}" + rm ${PFSPKGFILE} + fi + # No iterations required + break; + done +} + +# Deletes workdir +purge_wd() { + cd ${LOCALDIR} + rm -rf ${WORKDIR} +} + +trap "purge_wd && exit 1" INT + +check_pkgs +create_lists +main_dialog +purge_wd diff --git a/freesbie2/scripts/powerpc/iso.sh b/freesbie2/scripts/powerpc/iso.sh new file mode 100755 index 0000000..10197be --- /dev/null +++ b/freesbie2/scripts/powerpc/iso.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# +# Copyright (c) 2005 Dario Freni +# +# See COPYING for licence terms. +# +# $FreeBSD$ +# $Id: iso.sh,v 1.1.1.1 2008/03/25 19:58:16 sullrich Exp $ + +if [ -z "${LOGFILE:-}" ]; then + echo "This script can't run standalone." + echo "Please use launch.sh to execute it." + exit 1 +fi + +FREESBIE_LABEL=${FREESBIE_LABEL:-"FreeSBIE"} + +echo "#### Building bootable ISO image for ${ARCH} ####" + +# This part was taken from the mkisoimages.sh scripts under +# /usr/src/release/${ARCH}/ +type mkisofs 2>&1 | grep " is " >/dev/null +if [ $? -ne 0 ]; then + echo The cdrtools port is not installed. Trying to get it now. + if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then + cd /usr/ports/sysutils/cdrtools && ARCH="$(uname -p)" make install BATCH=yes && make clean + else + if ! pkg_add -r cdrtools; then + echo "Could not get it via pkg_add - please go install this" + echo "from the ports collection and run this script again." + exit 2 + fi + fi +fi + + +echo "Saving mtree structure..." +mtree -Pcp ${CLONEDIR} | bzip2 -9 > root.dist.bz2 +mkdir -p ${CLONEDIR}/dist +mv root.dist.bz2 ${CLONEDIR}/dist/ + +echo "/dev/iso9660/${FREESBIE_LABEL} / cd9660 rw 0 0" > ${CLONEDIR}/etc/fstab + +cd ${CLONEDIR} +cp ${SRCDIR}/release/powerpc/boot.tbxi boot + +# Detect if mkisofs support -L or -posix-L +if mkisofs --help 2>&1 | grep -q -- -posix-L; then + LOPT="-posix-L" +else + LOPT="-L" +fi + +echo "Running mkisofs..." + +mkisofs -hfs-bless boot -map ${SRCDIR}/release/powerpc/hfs.map -r -hfs -part -no-desktop -hfs-volid ${FREESBIE_LABEL} -V ${FREESBIE_LABEL} -l -J ${LOPT} -o $ISOPATH . >> ${LOGFILE} 2>&1 + +echo "ISO created:" + +ls -lh ${ISOPATH} + +cd ${LOCALDIR} diff --git a/installer/cleargpt.sh b/installer/cleargpt.sh new file mode 100644 index 0000000..89e0da1 --- /dev/null +++ b/installer/cleargpt.sh @@ -0,0 +1,13 @@ +#!/bin/sh +DISK=$1 +if [ "$DISK" = "" ]; then + echo "You must specify the disk that should be formatted/cleared." + exit 1 +fi +for PART in `gpart show $DISK | grep -v '=>' | awk '{ print $3 }'`; do + if [ "$PART" != "" ]; then + /sbin/gpart delete -i $PART $DISK >/dev/null + fi +done +/sbin/gpart destroy $DISK >/dev/null +exit 0 diff --git a/installer/conf/FreeBSD-dist.lua b/installer/conf/FreeBSD-dist.lua new file mode 100644 index 0000000..9b9f1ce --- /dev/null +++ b/installer/conf/FreeBSD-dist.lua @@ -0,0 +1,152 @@ +-- +-- conf/FreeBSD.lua +-- +-- This file contains FreeBSD-specific overrides to BSDInstaller.lua. +-- + +product = { + name = "FreeBSD", + version = "8.1" +} + +install_items = { + "boot", + "COPYRIGHT", + "bin", + "dev", + "etc", + "libexec", + "lib", + "media", + "root", + "rescue", + "sbin", + "sys", + "usr", + "var" +} + +cmd_names = cmd_names + { + DISKLABEL = "sbin/bsdlabel", + CPDUP = "usr/local/bin/cpdup -vvv -I", + DHCPD = "usr/local/sbin/dhcpd", + RPCBIND = "usr/sbin/rpcbind", + MOUNTD = "usr/sbin/mountd", + NFSD = "usr/sbin/nfsd", + MODULES_DIR = "boot/kernel", + DMESG_BOOT = "var/log/dmesg.boot" +} + +sysids = { + { "FreeBSD", 165 }, + { "OpenBSD", 166 }, + { "NetBSD", 169 }, + { "MS-DOS", 15 }, + { "Linux", 131 }, + { "Plan9", 57 } +} + +mountpoints = function(part_megs, ram_megs) + + -- + -- First, calculate suggested swap size: + -- + local swap_megs = 2 * ram_megs + if ram_megs > (part_megs / 2) or part_megs < 4096 then + swap_megs = ram_megs + end + swap = tostring(swap_megs) .. "M" + + -- + -- The megabytes available on disk for non-swap use. + -- + local avail_megs = part_megs - swap_megs + + -- + -- Now, based on the capacity of the partition, + -- return an appropriate list of suggested mountpoints. + -- + if avail_megs < 300 then + return {} + elseif avail_megs < 523 then + return { + { mountpoint = "/", capstring = "70M" }, + { mountpoint = "swap", capstring = swap }, + { mountpoint = "/var", capstring = "32M" }, + { mountpoint = "/tmp", capstring = "32M" }, + { mountpoint = "/usr", capstring = "174M" }, + { mountpoint = "/home", capstring = "*" } + } + elseif avail_megs < 1024 then + return { + { mountpoint = "/", capstring = "96M" }, + { mountpoint = "swap", capstring = swap }, + { mountpoint = "/var", capstring = "64M" }, + { mountpoint = "/tmp", capstring = "64M" }, + { mountpoint = "/usr", capstring = "256M" }, + { mountpoint = "/home", capstring = "*" } + } + elseif avail_megs < 4096 then + return { + { mountpoint = "/", capstring = "128M" }, + { mountpoint = "swap", capstring = swap }, + { mountpoint = "/var", capstring = "128M" }, + { mountpoint = "/tmp", capstring = "128M" }, + { mountpoint = "/usr", capstring = "512M" }, + { mountpoint = "/home", capstring = "*" } + } + elseif avail_megs < 10240 then + return { + { mountpoint = "/", capstring = "1024M" }, + { mountpoint = "swap", capstring = swap }, + { mountpoint = "/var", capstring = "512M" }, + { mountpoint = "/tmp", capstring = "256M" }, + { mountpoint = "/usr", capstring = "3G" }, + { mountpoint = "/home", capstring = "*" } + } + else + return { + { mountpoint = "/", capstring = "1024M" }, + { mountpoint = "swap", capstring = swap }, + { mountpoint = "/var", capstring = "2048M" }, + { mountpoint = "/tmp", capstring = "1G" }, + { mountpoint = "/usr", capstring = "8G" }, + { mountpoint = "/home", capstring = "*" } + } + end +end + +default_sysid = 165 +package_suffix = "tbz" +num_subpartitions = 8 +has_raw_devices = false +disklabel_on_disk = false +has_softupdates = true +window_subpartitions = { "c" } +use_cpdup = true + +booted_from_install_media = true + +dir = { + root = "/", + tmp = "/tmp/" +} + +-- +-- mtrees_post_copy: a table of directory trees to create, using 'mtree', +-- after everything has been copied. +-- + +mtrees_post_copy = { + +} + +-- /rescue for example takes a fair amount of space. +limits.part_min = "512M" + +-- +-- Offlimits mount points and devices. BSDInstaller will ignore these mount points +-- +-- example: offlimits_mounts = { "unionfs" } +offlimits_mounts = { "union" } +offlimits_devices = { "fd%d+", "md%d+", "cd%d+" } diff --git a/installer/conf/pfSense.lua b/installer/conf/pfSense.lua new file mode 100644 index 0000000..e968477 --- /dev/null +++ b/installer/conf/pfSense.lua @@ -0,0 +1,95 @@ +-- +-- conf/pfSense.lua +-- $Id$ +-- +-- This file contains pfSense-specific overrides to BSDInstaller.lua. +-- + +product = { + name = "pfSense", + version = "2.2-BETA" +} + +mountpoints = function(part_cap, ram_cap) + + -- + -- First, calculate suggested swap size: + -- + local swap = 2 * ram_cap + if ram_cap > (part_cap / 2) or part_cap < 4096 then + swap = ram_cap + end + swap = tostring(swap) .. "M" + + -- + -- Now, based on the capacity of the partition, + -- return an appropriate list of suggested mountpoints. + -- + + -- + -- pfSense: We want to only setup / and swap. + -- + + return { + { mountpoint = "/", capstring = "*" }, + { mountpoint = "swap", capstring = swap }, + } + +end + +cmd_names = cmd_names + { + DMESG_BOOT = "var/log/dmesg.boot" +} + +mtrees_post_copy = { + ["usr/local"] = "etc/mtree/BSD.local.dist", +} + +install_items = { + "boot", + "COPYRIGHT", + "bin", + "conf", + "conf.default", + "dev", + "etc", + "home", + "kernels", + "libexec", + "lib", + "root", + "sbin", + "usr", + "var" +} + +ui_nav_control = { + ["*/welcome"] = "ignore", -- do not show any "welcome" items + ["*/configure_installed_system"] = "ignore", -- don't put these on + ["pre_install_tasks/select_language"] = "ignore", -- do not show language selection + ["pre_install_tasks/configure_network"] = "ignore", -- no need for configuring network + ["*/upgrade_installed_system"] = "ignore", -- the main menu... + ["*/load_kernel_modules"] = "ignore", -- do not ask about loading kernel modules + ["*/pit/configure_console"] = "ignore", -- do not ask about console + ["*/pit/configure_network"] = "ignore", -- do not ask about network + ["*/*netboot*"] = "ignore", -- ignore netboot installation services + ["*/install/select_packages"] = "ignore", -- do not do the "Select Packages" step on install + ["*/install/confirm_install_os"] = "ignore", -- no need to confirm os install + ["*/install/warn_omitted_subpartitions"] = "ignore", -- warn that /tmp /var and friends are being ommited + ["*/install/finished"] = "ignore", -- no need to extra spamming + ["*/install/select_additional_filesystems"] = "ignore", -- do not include additional filesystems prompts + ["*/install/270_install_bootblocks.lua"] = "ignore", -- ignore the old boot block installer program + ["*/configure/*"] = "ignore", -- do not configure, we've already did it. +} + +booted_from_install_media=true + +dir = { root = "/", tmp = "/tmp/" } + +limits.part_min = "100M" + +offlimits_devices = { "fd%d+", "md%d+", "cd%d+" } + +offlimits_mounts = { "union" } + +use_cpdup = true diff --git a/installer/conf/pfSense_rescue.lua b/installer/conf/pfSense_rescue.lua new file mode 100644 index 0000000..529943a --- /dev/null +++ b/installer/conf/pfSense_rescue.lua @@ -0,0 +1,98 @@ +-- +-- conf/pfSense.lua +-- $Id$ +-- +-- This file contains pfSense-specific overrides to BSDInstaller.lua. +-- + +product = { + name = "pfSense-rescue", + version = "rescue1" +} + +mountpoints = function(part_cap, ram_cap) + + -- + -- First, calculate suggested swap size: + -- + local swap = 2 * ram_cap + if ram_cap > (part_cap / 2) or part_cap < 4096 then + swap = ram_cap + end + swap = tostring(swap) .. "M" + + -- + -- Now, based on the capacity of the partition, + -- return an appropriate list of suggested mountpoints. + -- + + -- + -- pfSense: We want to only setup / and swap. + -- + + return { + { mountpoint = "/", capstring = "*" }, + { mountpoint = "swap", capstring = swap }, + } + +end + +cmd_names = cmd_names + { + DMESG_BOOT = "var/log/dmesg.boot" +} + +mtrees_post_copy = { + ["usr/local"] = "etc/mtree/BSD.local.dist", +} + +install_items = { + "boot", + "COPYRIGHT", + "bin", + "conf", + "conf.default", + "dev", + "etc", + "kernels", + "libexec", + "lib", + "root", + "sbin", + "sys", + "usr", + "var" +} + +ui_nav_control = { + ["*/configure/*"] = "ignore", + ["*/pit/configure_console"] = "ignore", -- do not ask about console + ["pre_install_tasks/select_language"] = "ignore", -- do not show language selection + ["pre_install_tasks/configure_network"] = "ignore", -- no need for configuring network + ["main/install_os"] = "ignore", + ["/install/*"] = "ignore", + ["*/welcome"] = "ignore", + ["*/configure_installed_system"] = "ignore", -- don't put these on + ["*/upgrade_installed_system"] = "ignore", -- the main menu... + ["*/load_kernel_modules"] = "ignore", -- do not ask about loading kernel modules + ["*/pit/configure_network"] = "ignore", -- do not ask about network + ["*/*netboot*"] = "ignore", -- ignore netboot installation services + ["*/install/select_packages"] = "ignore", -- do not do the "Select Packages" step on install + ["*/install/confirm_install_os"] = "ignore", -- no need to confirm os install + ["*/install/warn_omitted_subpartitions"] = "ignore", -- warn that /tmp /var and friends are being ommited + ["*/install/finished"] = "ignore", -- no need to extra spamming + ["*/install/select_additional_filesystems"] = "ignore", -- do not include additional filesystems prompts + ["*/install/270_install_bootblocks.lua"] = "ignore", -- ignore the old boot block installer program + ["*/configure/*"] = "ignore", -- do not configure, we've already did it. +} + +booted_from_install_media=true + +dir = { root = "/", tmp = "/tmp/" } + +limits.part_min = "100M" + +offlimits_devices = { "fd%d+", "md%d+", "cd%d+" } + +offlimits_mounts = { "union" } + +use_cpdup = true diff --git a/installer/easy_install/100_confirm_basic_install.lua b/installer/easy_install/100_confirm_basic_install.lua new file mode 100644 index 0000000..3bd1f96 --- /dev/null +++ b/installer/easy_install/100_confirm_basic_install.lua @@ -0,0 +1,25 @@ +-- $Id: 050_welcome.lua,v 1.10 2005/08/26 04:25:25 cpressey Exp $ + +-- +-- Confirmation message +-- + +return { + id = "centipede_confirm_basic", + name = _("Confirmation Message"), + effect = function(step) + + if App.ui:confirm(_( + "Easy Install will automatically install without asking any questions. \n\n" .. + "WARNING: This will erase all contents in your first hard disk! " .. + "This action is irreversible. Do you really want to continue?\n\n" .. + "If you wish to have more control on your setup, " .. + "choose Custom Installation from the Main Menu." + )) then + return step:next() + else + return step:prev() + end + + end +} diff --git a/installer/easy_install/200_select_disk.lua b/installer/easy_install/200_select_disk.lua new file mode 100644 index 0000000..7d77bce --- /dev/null +++ b/installer/easy_install/200_select_disk.lua @@ -0,0 +1,75 @@ +-- $Id: 200_select_disk.lua,v 1.34 2005/08/26 04:25:24 cpressey Exp $ + +-- +-- Select disk onto which to install. +-- + +return { + id = "select_disk", + name = _("Select Disk"), + req_state = { "storage" }, + effect = function(step) + App.state.sel_disk = nil + App.state.sel_part = nil + + -- XXX there might be a better place to handle this. + if App.state.storage:get_disk_count() == 0 then + App.ui:inform(_( + "The installer could not find any disks suitable " .. + "for installation (IDE or SCSI) attached to this " .. + "computer. If you wish to install %s" .. + " on an unorthodox storage device, you will have to " .. + "exit to a %s command prompt and install it " .. + "manually, using the file /README as a guide.", + App.conf.product.name, App.conf.media_name) + ) + return nil + end + + local dd = {} + + for ddd in App.state.storage:get_disks() do + local desc = ddd:get_desc() + if desc == "mirror/pfSenseMirror" then + print("\nAuto-selecting first disk...") + print("\npfSense mirror found. Auto selecting.") + dd = ddd + break + end + end + + if next(dd) == nil then + for ddd in App.state.storage:get_disks() do + dd = ddd + print("\nAuto-selecting first disk...") + print(dd:get_desc() .. "\n") + break + end + end + + if dd then + App.state.sel_disk = dd + -- App.state.sel_part = App.state.sel_disk:get_part_by_number(1) + + local disk_min_capacity = Storage.Capacity.new( + App.conf.limits.part_min + ) + if disk_min_capacity:exceeds(dd:get_capacity()) then + App.ui:inform(_( + "WARNING: the disk\n\n%s\n\nappears to have a capacity " .. + "of %s, which is less than the absolute minimum " .. + "recommended capacity, %s. You may encounter " .. + "problems while trying to install %s.", + dd:get_name(), + dd:get_capacity():format(), + disk_min_capacity:format(), + App.conf.product.name) + ) + end + + return step:next() + else + return step:prev() + end + end +} diff --git a/installer/easy_install/220_format_disk.lua b/installer/easy_install/220_format_disk.lua new file mode 100644 index 0000000..c07ed4d --- /dev/null +++ b/installer/easy_install/220_format_disk.lua @@ -0,0 +1,100 @@ +-- $Id: 220_format_disk.lua,v 1.15 2006/02/03 22:54:13 sullrich Exp $ + +-- +-- Allow the user to format the selected disk, if they so desire. +-- + +-- +-- Utility function which asks the user what geometry they'd like to use. +-- +local select_geometry = function(step, dd) + if dd:is_geometry_bios_friendly() then + local c_cyl, c_head, c_sec = dd:get_geometry() + else + local c_cyl, c_head, c_sec = dd:get_normalized_geometry() + end + + dd:set_geometry(c_cyl, c_head, c_sec) + + return true +end + +-- +-- Utility function which confirms that the user would like to proceed, +-- and actually executes the formatting commands. +-- +local format_disk = function(step, dd) + local cmds = CmdChain.new() + + if not select_geometry(step, dd) then + return false + end + + local cmdsGPT = CmdChain.new() + local disk = dd:get_name() + cmdsGPT:set_replacements{ + disk = disk + } + cmdsGPT:add("/usr/sbin/cleargpt.sh ${disk}"); + cmdsGPT:execute() + + dd:cmds_format(cmds) + + if not cmds:execute() then + App.ui:inform(_( + "The disk\n\n%s\n\nwas " .. + "not correctly formatted, and may " .. + "now be in an inconsistent state. " .. + "We recommend trying to format it again " .. + "before attempting to install " .. + "%s on it.", + dd:get_desc(), App.conf.product.name + )) + return false + end + + -- + -- The extents of the Storage.System have probably + -- changed, so refresh our knowledge of it. + -- + local result + result, App.state.sel_disk, App.state.sel_part, dd = + StorageUI.refresh_storage( + App.state.sel_disk, App.state.sel_part, dd + ) + if not result then + return false + end + + -- + -- Mark the disk as having been 'touched' + -- (modified destructively, i.e. partitioned) by us. + -- This should prevent us from asking for further + -- confirmation for changes we might do to it in + -- the future. + -- + dd:touch() + + return true +end + +return { + id = "format_disk", + name = _("Format Disk"), + req_state = { "storage", "sel_disk" }, + effect = function(step) + print("\nFormatting disk...") + + if format_disk(step, App.state.sel_disk) then + App.state.sel_part = + App.state.sel_disk:get_part_by_number(1) + return step:next() + else + --[[ + -- weird hack. + os.execute("/usr/bin/touch /tmp/install_runagain") + os.exit() + --]] + end + end +} diff --git a/installer/easy_install/250_partition_disk.lua b/installer/easy_install/250_partition_disk.lua new file mode 100644 index 0000000..53e952e --- /dev/null +++ b/installer/easy_install/250_partition_disk.lua @@ -0,0 +1,810 @@ +-- $Id: 250_partition_disk.lua,v 1.79 2005/10/05 21:29:03 cpressey Exp $ + +-- +-- Partition editor. +-- +-- XXX This should probably be split up into more than one step. +-- XXX This should probably be compartmentalized into StorageUI. +-- + +local options_list = {} +local sysid_to_name_map = {} +local name_to_sysid_map = {} +local i, l +for i, l in ipairs(App.conf.sysids) do + local name, sysid = l[1], l[2] + table.insert(options_list, name) + sysid_to_name_map[sysid] = name + name_to_sysid_map[name] = sysid +end + +-- +-- Return a list of datasets apropos for formatting just one big partition. +-- +local populate_one_big_partition = function(dd) + return { + { + sectors = "*", + sysid = sysid_to_name_map[App.conf.default_sysid], + active = "Y" + } + } +end + +-- +-- Get a list of datasets by examining what is currently in the disk +-- representation (i.e. in the Storage.Disk structure, which was +-- presumably gotten from Storage.System:survey() at some point.) +-- +local populate_from_disk = function(dd) + local pd + local list = {} + local active_pd = nil + + local toyn = function(bool) + if bool then + return "Y" + else + return "N" + end + end + + local offset = dd:get_geometry_sec() + + -- + -- Look for the active partition. + -- + for pd in dd:get_parts() do + if pd:is_active() then + active_pd = pd + break + end + end + + -- + -- If none was found, assume the first as the active partition. + -- + if not active_pd then + for pd in dd:get_parts() do + active_pd = pd + break + end + end + + for pd in dd:get_parts() do + local start = pd:get_start() + local sectors = pd:get_capacity():in_units("S") + local sysid = sysid_to_name_map[pd:get_sysid()] or + tostring(pd:get_sysid()) + + if start ~= offset then + App.ui:inform(_( + "WARNING: The partition layout currently " .. + "on this disk is non-standard. It may " .. + "have gaps in between partitions, or the " .. + "partitions may be listed in something " .. + "other than strictly increading order. " .. + "\n\nWhile %s can handle this situation, " .. + "this installer's partition editor cannot " .. + "at present. You will be given the option " .. + "to completely repartition this disk, but " .. + "if you wish to retain any existing " .. + "information on the disk, you should exit " .. + "the installer and use a tool such as " .. + "`fdisk' to manually create a %s partition " .. + "on it before continuing.", + App.conf.product.name, App.conf.product.name + )) + return populate_one_big_partition(dd) + end + offset = offset + sectors + + -- + -- Create the dataset. + -- + table.insert(list, { + sectors = tostring(sectors), + sysid = sysid, + active = toyn(pd == active_pd) + }) + end + + return list +end + +-- +-- Actually show the partition editor and let the user edit partitions. +-- This does not do any setup or validation. +-- +local edit_partitions = function(step, datasets_list) + assert(datasets_list, "We need a list of datasets here, please") + + local fields_list = { + { + id = "sectors", + name = _("Size (in Sectors)") + }, + { + id = "sysid", + name = _("Partition Type"), + options = options_list, + editable = "false" + }, + { + id = "active", + name = _("Active?"), + control = "checkbox" + } + } + + local actions_list = { + { + id = "ok", + name = _("Accept and Create"), + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to %s", step:get_prev_name()), + }, + { + id = "revert", + name = _("Revert to Partitions on Disk"), + } + } + + local form = { + id = "edit_partitions", + name = _("Edit Partitions"), + short_desc = _("Select the partitions (also known " .. + "as `slices' in BSD tradition) you want to " .. + "have on this disk.\n\n" .. + "For Size, enter a raw size in sectors " .. + "(1 gigabyte = 2097152 sectors) " .. + "or a single '*' to indicate " .. + "'use the remaining space on the disk'."), + special = "bsdinstaller_edit_partitions", + minimum_width = "64", + + actions = actions_list, + fields = fields_list, + datasets = datasets_list, + + multiple = "true", + extensible = "true" + } + + + return true, datasets_list +end + +-- +-- Given a proposed size for a partition, check that it starts on a +-- head boundary and ends on a cylinder boundary. Allow the user to +-- easily adjust it to do so if it does not. +-- +local align_to_boundary = function(dd, size, num, start) + + local is_divisible_by = function(x, y) + return math.floor(x / y) == math.ceil(x / y) + end + + -- + -- Get "sectors per track" value - the start sector + -- should be divisible by this value in order + -- for the partition to be aligned to head boundaries. + -- + local sectrk = dd:get_geometry_sec() + + -- + -- Get "blocks per cylinder" value - the end sector + -- should be divisible by this value in order + -- for the partition to be aligned to cylinder boundaries. + -- + local cylsec = dd:get_geometry_head() * sectrk + + -- + -- The start sector MUST be on a head boundary, + -- or we're in the Twilight Zone. + -- + assert(is_divisible_by(start, sectrk)) + + -- + -- From the start, and the proposed size, calculate the end sector. + -- + local end_sector = start + size + + -- + -- Check to see if it ends on a cylinder boundary. + -- If so, everything's peachy, and just return. + -- + if is_divisible_by(end_sector, cylsec) then + return size + end + + -- + -- Calculate the next smallest and next largest + -- cylinder boundaries where the end sector could be. + -- + local shrink_sec = math.floor(end_sector / cylsec) * cylsec + local expand_sec = math.ceil(end_sector / cylsec) * cylsec + + -- + -- Calculate the next smallest and largest sizes of the partition + -- such that its end sector falls on a cylinder boundary. + -- + local shrink_to = shrink_sec - start + local expand_to = expand_sec - start + + -- + -- Ask the user what they want to do. + -- + local response = App.ui:present{ + id = "align_partition", + name = _("Align Partition"), + short_desc = _( + "Partition #%d does not begin and end " .. + "on a cylinder boundary (i.e. its size, %d, " .. + "is not a multiple of %d.)\n\nWould you " .. + "like to adjust it? NOTE that this may " .. + "result in subsequent partitions being moved!", + num, size, cylsec + ), + + actions = { + { + id = "shrink", + name = _("Shrink to %d Sectors", shrink_to), + }, + { + id = "expand", + name = _("Expand to %d Sectors", expand_to), + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to Edit Partitions"), + } + } + } + + if response.action_id == "shrink" then + return shrink_to + end + if response.action_id == "expand" then + return expand_to + end + + return nil +end + +-- +-- Given a proposed size for a partition, check that it does not +-- exceed or fall short of the disk size. If it does, allow the +-- user to easily adjust it. +-- +local align_to_disk_size = function(dd, size, num, used_size, disk_size, is_last) + if used_size + size == disk_size then + return size -- perfect fit + end + if used_size + size < disk_size and not is_last then + return size -- don't worry, still some partitions to go + end + + local response + local new_size = disk_size - used_size + + if used_size + size < disk_size then + local under = disk_size - (used_size + size) + response = App.ui:present{ + id = "expand_partition", + name = _("Expand Partition"), + short_desc = _( + "Partition #%d falls short of the end of " .. + "the disk by %d sectors (%s). Would you " .. + "like to expand it so that it takes up the " .. + "entire rest of the disk?", + num, under, + Storage.Capacity.new(under, "S"):format() + ), + + actions = { + { + id = "ok", + name = _("Expand to %d Sectors", new_size) + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to Edit Partitions") + } + } + } + else + local over = (used_size + size) - disk_size + response = App.ui:present{ + id = "truncate_partition", + name = _("Truncate Partition"), + short_desc = _( + "Partition #%d extends past the end of " .. + "the disk by %d sectors (%s). Would you " .. + "like to shrink it so that it fits?", + num, over, + Storage.Capacity.new(over, "S"):format() + ), + + actions = { + { + id = "ok", + name = _("Shrink to %d Sectors", new_size) + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to Edit Partitions") + } + } + } + end + + if response.action_id == "ok" then + return new_size + end + + return nil +end + +-- +-- Validate that the given datasets are properly formed. +-- +local check_datasets = function(dd, datasets_list) + local i, dataset + local result, size + local disk_size = dd:get_capacity():in_units("S") + local used_size = dd:get_geometry_sec() -- initial offset + local wildcard_dataset = nil + local active_dataset = nil + + -- + -- Check to see that they configured at least one. + -- + if table.getn(datasets_list) == 0 then + App.ui:inform(_( + "No partitions were configured! Please " .. + "create at least one partition." + )) + return false + end + + -- + -- Check that each of them has a valid sysid and capacity. + -- + for i, dataset in ipairs(datasets_list) do + if tonumber(dataset.sysid) == nil and + name_to_sysid_map[dataset.sysid] == nil then + App.ui:inform(_( + "'%s' is not a recognized partition type. " .. + "Please use a numeric identifier if you " .. + "wish to use an unlisted partition type.", + dataset.sysid + )) + return false + end + + if dataset.active == "Y" then + if active_dataset then + App.ui:inform(_( + "Only one partition may be marked 'active'." + )) + return false + end + active_dataset = dataset + end + + if dataset.sectors == "*" then + if wildcard_dataset ~= nil then + App.ui:inform(_( + "Only one partition may have a " .. + "capacity of '*'." + )) + return false + end + wildcard_dataset = dataset + else + result, size = pcall(function() + local s = tonumber(dataset.sectors) + assert(dataset.sectors == tostring(s)) + return s + end) + if not result then + App.ui:inform(_( + "'%s' is not a valid size in sectors.", + dataset.sectors + )) + return false + end + + size = align_to_disk_size(dd, size, i, used_size, disk_size, + i == table.getn(datasets_list) and wildcard_dataset == nil) + if not size then + return false + end + + size = align_to_boundary(dd, size, i, used_size) + if not size then + return false + end + + dataset.sectors = tostring(size) + + used_size = used_size + size + end + end + + if not active_dataset then + App.ui:inform(_( + "One partition must be marked 'active'." + )) + return false + end + + -- + -- Fill in the wildcard dataset. + -- + if wildcard_dataset ~= nil then + wildcard_dataset.sectors = tostring(disk_size - used_size) + used_size = used_size + tonumber(wildcard_dataset.sectors) + end + + -- + -- Assert that the sizes total up exactly. + -- + -- XXX in the future, we may want to allow passing through "bad" + -- sizes, to not disturb existing whacky partitionings. + -- In which case, we'll need to drop this check. + -- + assert(used_size == disk_size) + + return true +end + +-- +-- Return a list of partitions that have been changed by the user's edits, +-- as well as a list of partitions that have been added by the user. +-- Assumes check_datasets has already been called successfully. +-- +local find_changed_and_added_partitions = function(dd, datasets_list) + local i, dataset + local offset = dd:get_geometry_sec() -- initial offset + local changed = {} + local added = {} + + for i, dataset in ipairs(datasets_list) do + local pd = dd:get_part_by_number(i) + local size = tonumber(dataset.sectors) + + local descriptor = { + pd = pd, + size = size, + offset = offset + } + + if not pd then + table.insert(added, descriptor) + elseif pd:get_capacity():in_units("S") ~= size or + pd:get_start() ~= offset then + table.insert(changed, descriptor) + end + + offset = offset + size + end + + return changed, added +end + +-- +-- Given the list of datasets, actually create the Storage.Partition objects. +-- This function assumes that check_datasets has already been called. +-- This function can never fail. +-- +local create_partitions_from_datasets = function(dd, datasets_list) + local i, dataset + local part_no = 1 + local disk_size = dd:get_capacity():in_units("S") + local offset = dd:get_geometry_sec() -- initial offset + local size + local sysid + + dd:clear_parts() + for i, dataset in ipairs(datasets_list) do + size = tonumber(dataset.sectors) + + dd:add_part(Storage.Partition.new{ + parent = dd, + number = part_no, + start = offset, + size = size, + sysid = name_to_sysid_map[dataset.sysid] or tonumber(dataset.sysid), + active = (dataset.active == "Y") + }) + + offset = offset + size + part_no = part_no + 1 + end +end + +-- +-- Actually confirm with the user and make changes to the disk. +-- +local alter_disk = function(dd, datasets_list, changed) + -- + -- Generate text from the list of changed partitions + -- + local i, tab + local changed_list = "" + for i, tab in ipairs(changed) do + changed_list = changed_list .. _( + "Partition #%d (was %d long at %d; now %d long at %d)\n", + tab.pd:get_number(), + tab.pd:get_capacity():in_units("S"), tab.pd:get_start(), + tab.size, tab.offset + ) + end + + -- + -- Confirm that this is what the user wants to do + -- + local confirm = function() + local response = App.ui:present{ + id = "confirm_alter_disk", + name = _("Alter these Partitions?"), + short_desc = _( + "WARNING! The parameters of the following " .. + "partitions have been MODIFIED for the disk" .. + "\n\n%s\n\n" .. + "ANY meaningful data that may currently be " .. + "on ANY of them will NOT remain meaningful " .. + "after this operation has completed. " .. + "In other words, they should be considered " .. + "IRREVOCABLY ERASED if you proceed!\n\n%s\n" .. + "Are you ABSOLUTELY SURE you wish to take " .. + "this action? This is your LAST CHANCE " .. + "to cancel!", + dd:get_desc(), + changed_list + ), + actions = { + { + id = "ok", + name = _("Alter these Partitions") + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to Edit Partitions") + } + } + } + return response.action_id == "ok" + end + + if dd:has_been_touched() or confirm() then + local cmds = CmdChain.new() + + -- + -- Create partition descriptors under the disk, + -- then create the commands to partition based on + -- them, then execute those commands. + -- XXX might be better to: + -- - create the partition descriptors under a + -- temporary disk descriptor, or + -- - refresh the partition descriptors if the + -- partitioning fails, or + -- - create the commands directly from the + -- datasets + -- ... so that it is possible/easy to restore the + -- list of partition descriptors back to what is + -- really on the disk. + -- + create_partitions_from_datasets(dd, datasets_list) + dd:cmds_partition(cmds) + + if not cmds:execute() then + App.ui:inform(_( + "The disk\n\n%s\n\nwas " .. + "not correctly partitioned, and may " .. + "now be in an inconsistent state. " .. + "We recommend partitioning it again" .. + "before attempting to install " .. + "%s on it.", + dd:get_desc(), + App.conf.product.name + )) + return false + end + + -- + -- The extents of the Storage.System have probably + -- changed, so refresh our knowledge of it. + -- + local result + result, App.state.sel_disk, App.state.sel_part, dd = + StorageUI.refresh_storage( + App.state.sel_disk, App.state.sel_part, dd + ) + if not result then + return false + end + + -- + -- XXX mark all changed partitions as having been + -- changed, here. + -- + + --[[ + App.ui:inform(_( + "The disk\n\n%s\n\nwas successfully partitioned.", + dd:get_desc() + )) + --]] + + print("\nThe disk was successfully partitioned...\n") + + return true + else + App.ui:inform(_( + "Action cancelled. No partitions were changed." + )) + return false + end +end + +-- +-- High-level function which drives all others: +-- populate_from_disk +-- edit_partitions +-- check_datasets +-- create_partitions_from_datasets +-- +local let_user_edit_partitions = function(step, population_function) + local ok = false + local datasets_list = population_function(App.state.sel_disk) + + while not ok do + ok, datasets_list = edit_partitions(step, datasets_list) + if not ok then -- user cancelled + return step:prev() + end + ok = check_datasets(App.state.sel_disk, datasets_list) + end + + -- + -- Determine what changed. + -- + local changed, added = + find_changed_and_added_partitions(App.state.sel_disk, datasets_list) + + --[[ + if table.getn(changed) == 0 and table.getn(added) == 0 then + response = App.ui:present{ + id = "partition_anyway", + name = _("Partition Anyway?"), + short_desc = _( + "No changes appear to have been made to the " .. + "partition table layout.\n\n" .. + "Do you want to execute the commands to " .. + "partition the disk anyway?" + ), + + actions = { + { + id = "ok", + name = _("Yes, partition %s", + App.state.sel_disk:get_name()) + }, + { + id = "skip", + name = _("No, Skip to Next Step") + }, + { + id = "cancel", + accelerator = "ESC", + name = _("No, Return to Edit Partitions") + } + } + } + if response.action_id == "cancel" then + return step + elseif response.action_id == "skip" then + return step:next() + end + end + --]] + + -- + -- Actually write the partitions to the disk, with accompanying warnings + -- and such in the user interface. + -- + if alter_disk(App.state.sel_disk, datasets_list, changed) then + return step:next() + else + return step + end +end + +-- +-- The Flow.Step descriptor itself follows. +-- +return { + id = "partition_disk", + name = _("Partition Disk"), + req_state = { "storage", "sel_disk" }, + effect = function(step) + --[[-- + if App.state.sel_disk:has_been_touched() then + return let_user_edit_partitions(step, populate_from_disk) + end + --]]-- + + if App.state.sel_disk:is_mounted() then + local response = App.ui:present{ + id = "partition_disk", + name = _("Partition Disk?"), + short_desc = _( + "One or more subpartitions of one or more " .. + "primary partitions of the selected disk " .. + "are already in use (they are currently " .. + "mounted on mountpoints in the filesystem.) " .. + "You cannot repartition the disk under " .. + "these circumstances. If you wish to do so, " .. + "you must unmount the subpartitions before " .. + "proceeding." + ), + actions = { + { + id = "unmount", + name = _("Unmount Subpartitions"), + effect = function() + local cmds = CmdChain.new() + App.state.sel_disk:cmds_unmount_all_under(cmds) + cmds:execute() + return step + end + }, + { + id = "skip", + name = _("Skip this Step"), + effect = function() + return step:next() + end + }, + { + id = "cancel", + name = _("Return to %s", step:get_prev_name()), + accelerator = "ESC", + effect = function() + return step:prev() + end + } + } + } + return response.result + end + + if App.state.sel_disk:get_part_count() == 0 then + App.ui:inform(_( + "No valid partitions were found on this disk. " .. + "You will have to create at least one in which " .. + "to install %s." .. + "\n\n" .. + "A single partition covering the entire disk " .. + "will be selected for you by default, but if you " .. + "wish, you may create multiple partitions instead.", + App.conf.product.name + )) + return let_user_edit_partitions(step, populate_one_big_partition) + end + + return let_user_edit_partitions(step, populate_from_disk) + end +} diff --git a/installer/easy_install/300_select_part.lua b/installer/easy_install/300_select_part.lua new file mode 100644 index 0000000..f0f914f --- /dev/null +++ b/installer/easy_install/300_select_part.lua @@ -0,0 +1,105 @@ +-- $Id: 300_select_part.lua,v 1.37 2005/08/26 04:25:24 cpressey Exp $ + +-- +-- Select partition onto which to install. +-- + +return { + id = "select_part", + name = _("Select Partition"), + req_state = { "storage", "sel_disk" }, + effect = function(step) + pd = App.state.sel_part + + if pd then + if pd:is_mounted() then + App.ui:inform(_( + "One or more subpartitions on the selected " .. + "primary partition already in use (they are " .. + "currently mounted in the filesystem.) " .. + "You should either unmount them before " .. + "proceeding, or select a different partition " .. + "or disk on which to install %s.", + App.conf.product.name + )) + return step + end + + if pd:get_activated_swap():in_units("K") > 0 then + local response = App.ui:present{ + name = _("Cannot swapoff; reboot?"), + short_desc = _( + "Some subpartitions on the selected primary " .. + "partition are already activated as swap. " .. + "Since there is no way to deactivate swap in " .. + "%s once it is activated, in order " .. + "to edit the subpartition layout of this " .. + "primary partition, you must first reboot.", + App.conf.product.name + ), + actions = { + { + id = "reboot", + name = _("Reboot"), + effect = function() return "reboot" end + }, + { + id = "cancel", + name = _("Return to %s", step:get_prev_name()), + accelerator = "ESC", + effect = function() return step:prev() end + } + } + } + return response.result + end + + App.state.sel_part = pd + + local part_min_capacity = Storage.Capacity.new( + App.conf.limits.part_min + ) + if part_min_capacity:exceeds(pd:get_capacity()) then + App.ui:inform(_( + "WARNING: primary partition #%d appears to have " .. + "a capacity of %s, which is less than the minimum " .. + "recommended capacity, %s. You may encounter " .. + "problems while trying to install %s onto it.", + pd:get_number(), + pd:get_capacity():format(), + part_min_capacity:format(), + App.conf.product.name) + ) + end + + local cmds = CmdChain.new() + + pd:cmds_set_sysid(cmds, App.conf.default_sysid) + pd:cmds_initialize_disklabel(cmds) + + if cmds:execute() then + --[[ + App.ui:inform(_( + "Primary partition #%d was formatted.", + pd:get_number()) + ) + --]] + return step:next() + else + --[[ + App.ui:inform(_( + "Primary partition #%d was " .. + "not correctly formatted, and may " .. + "now be in an inconsistent state. " .. + "We recommend re-formatting it " .. + "before proceeding.", + pd:get_number()) + ) + --]] + return step + end + else + return step:prev() + end + end +} diff --git a/installer/easy_install/400_select_subparts.lua b/installer/easy_install/400_select_subparts.lua new file mode 100644 index 0000000..ac8b6fe --- /dev/null +++ b/installer/easy_install/400_select_subparts.lua @@ -0,0 +1,357 @@ +-- $Id: 400_select_subparts.lua,v 1.50 2005/08/27 08:35:58 cpressey Exp $ + +-- +-- Subpartition editor. +-- +-- XXX This should probably be available from StorageUI so that we +-- can do it during configuration, too. But that will get ugly if +-- we attempt to allow existing subpartitions to be retained, etc. +-- + +local expert_mode = false + +local datasets_list = nil + +return { + id = "select_subparts", + name = _("Select Subpartitions"), + req_state = { "sel_disk", "sel_part" }, + effect = function(step) + local part_no, pd + local part_actions = {} + local i, letter + + --------------------- + -- Local functions -- + --------------------- + + local fillout_missing_expert_values = function() + local i, dataset + + for i, dataset in ipairs(datasets_list) do + if not dataset.softupdates and + not dataset.fsize and not dataset.bsize then + if dataset.mountpoint == "/" then + dataset.softupdates = "N" + else + dataset.softupdates = "Y" + end + + if dataset.capstring == "*" or + (Storage.Capacity.is_valid_capstring(dataset.capstring) and + Storage.Capacity.new(dataset.capstring):in_units("G") >= 1.0) then + dataset.fsize = "2048" + dataset.bsize = "16384" + else + dataset.fsize = "1024" + dataset.bsize = "8192" + end + end + end + end + + -- + -- Make sure all the given subpart descriptors are OK. + -- + local validate_subpart_descriptors = function(pd) + local spd, k, v + local part_size = pd:get_capacity():in_units("S") + local used_size = 0 + local min_size = {} + + -- + -- Read the minimum required subpart capacities from the conf file. + -- + for k, v in App.conf.limits.subpart_min do + min_size[k] = Storage.Capacity.new(v):in_units("S") + end + + -- + -- If the user didn't select a /usr partition, / is going to + -- have to hold all that stuff - so make sure it's big enough. + -- + if not pd:get_subpart_by_mountpoint("/usr") then + min_size["/"] = min_size["/"] + min_size["/usr"] + end + + for spd in pd:get_subparts() do + local spd_size = spd:get_capacity():in_units("S") + local mtpt = spd:get_mountpoint() + local min_mt_size = min_size[mtpt] + + used_size = used_size + spd_size + + if min_mt_size and spd_size < min_mt_size then + if not App.ui:confirm(_( + "WARNING: the %s subpartition should " .. + "be at least %s in size or you will " .. + "risk running out of space during " .. + "the installation.\n\n" .. + "Proceed anyway?", + mtpt, + Storage.Capacity.new(min_mt_size, "S"):format() + )) then + return false + end + end + end + + if used_size > part_size then + if not App.ui:confirm(_( + "WARNING: The total number of sectors needed " .. + "for the requested subpartitions (%d) exceeds the " .. + "number of sectors available in the partition (%d) " .. + "by %d sectors (%s.)\n\n" .. + "This is an invalid configuration; we " .. + "recommend shrinking the size of one or " .. + "more subpartitions before proceeding.\n\n" .. + "Proceed anyway?", + used_size, part_size, used_size - part_size, + Storage.Capacity.new(used_size - part_size, "S"):format() + )) then + return false + end + end + + if used_size < part_size - App.conf.limits.waste_max then + if not App.ui:confirm(_( + "Note: the total capacity required " .. + "for the requested subpartitions (%s) does not make " .. + "full use of the capacity available in the " .. + "partition (%s.) %d sectors (%s) of space will go " .. + "unused.\n\n" .. + "You may wish to expand one or more subpartitions " .. + "before proceeding.\n\n" .. + "Proceed anyway?", + Storage.Capacity.new(used_size, "S"):format(), + Storage.Capacity.new(part_size, "S"):format(), + part_size - used_size, + Storage.Capacity.new(part_size - used_size, "S"):format() + )) then + return false + end + end + + if App.conf.enable_crashdumps then + local num_swap_subparts = 0 + local num_dumponable = 0 + + for spd in pd:get_subparts() do + if spd:is_swap() then + num_swap_subparts = num_swap_subparts + 1 + if spd:get_capacity():exceeds_or_equals( + App.state.storage:get_ram_capacity() + ) then + num_dumponable = num_dumponable + 1 + end + end + end + + if num_swap_subparts > 0 and num_dumponable == 0 then + if not App.ui:confirm(_( + "Note: none of the swap subpartitions that " .. + "you have selected are large enough to hold " .. + "the contents of memory, and thus cannot be " .. + "used to hold a crash dump (an image of the " .. + "computers' memory at the time of failure.) " .. + "Because this complicates troubleshooting, " .. + "we recommend that you increase the size of " .. + "one of your swap subpartitions.\n\n" .. + "Proceed anyway?", + mtpt, min_cap)) then + return false + end + end + end + + return true + end + + -- + -- Take a list of tables representing the user's choices and + -- create a matching set of subpartition descriptors under + -- the given partition description from them. In the process, + -- the desired subpartitions are checked for validity. + -- + local create_subpart_descriptors = function(pd, list) + local i, letter, dataset + local result, size + local offset, fstype + local total_size = 0 + local wildcard_size = false + + pd:clear_subparts() + + offset = 0 + for i, dataset in list do + if dataset.capstring == "*" then + if wildcard_size then + App.ui:inform(_( + "Only one subpartition may have " .. + "a capacity of '*'." + )) + return false + end + wildcard_size = true + else + if Storage.Capacity.is_valid_capstring(dataset.capstring) then + total_size = total_size + + Storage.Capacity.new(dataset.capstring):in_units("S") + else + App.ui:inform(_( + "'%s' is not a valid capacity specifier. " .. + "Capacity must either end in 'M' " .. + "for megabytes, 'G' for gigabytes, " .. + "or be '*' to indicate 'use all " .. + "remaining space.'", + dataset.capstring + )) + return false + end + end + end + + local next_letter = function(letter) + local done = false + while not done do + done = true + letter = string.char(string.byte(letter) + 1) + local i, test + for i, test in ipairs(App.conf.window_subpartitions) do + if test == letter then + done = false + end + end + end + return letter + end + + offset = 0 + letter = nil + for i, dataset in ipairs(list) do + if not letter then + letter = "a" + else + letter = next_letter(letter) + end + + if dataset.capstring == "*" then + size = pd:get_capacity():in_units("S") - total_size + else + -- This has already been determined to be valid + size = Storage.Capacity.new(dataset.capstring):in_units("S") + end + + if dataset.mountpoint == "swap" then + fstype = "swap" + else + fstype = "4.2BSD" + end + + pd:add_subpart(Storage.Subpartition.new{ + parent = pd, + letter = letter, + size = size, + offset = offset, + fstype = fstype, + fsize = tonumber(dataset.fsize), + bsize = tonumber(dataset.bsize), + mountpoint = dataset.mountpoint + }) + + offset = offset + size + end + + return validate_subpart_descriptors(pd) + end + + -- + -- Begin main logic! + -- + + if not datasets_list then + datasets_list = App.conf.mountpoints( + App.state.sel_part:get_capacity():in_units("M"), + App.state.storage:get_ram_capacity():in_units("M") + ) + end + + local fields_list = { + { + id = "mountpoint", + name = _("Mountpoint") + }, + { + id = "capstring", + name = _("Capacity") + } + } + + local actions_list = { + { + id = "ok", + name = _("Accept and Create"), + effect = function() + return step:next() + end + }, + { + id = "cancel", + name = _("Return to %s", step:get_prev_name()), + accelerator = "ESC", + effect = function() + return step:prev() + end + } + } + + if expert_mode then + table.insert(fields_list, + { + id = "softupdates", + name = _("Softupdates?"), + control = "checkbox" + } + ) + table.insert(fields_list, + { + id = "fsize", + name = _("Frag Size") + } + ) + table.insert(fields_list, + { + id = "bsize", + name = _("Block Size") + } + ) + + table.insert(actions_list, + { + id = "switch", + name = _("Switch to Normal Mode"), + effect = function() + expert_mode = not expert_mode + return step + end + } + ) + else + table.insert(actions_list, + { + id = "switch", + name = _("Switch to Expert Mode"), + effect = function() + expert_mode = not expert_mode + return step + end + } + ) + end + + fillout_missing_expert_values() + create_subpart_descriptors(App.state.sel_part, datasets_list) + return step:next() + + end +} diff --git a/installer/easy_install/407_create_subparts.lua b/installer/easy_install/407_create_subparts.lua new file mode 100644 index 0000000..db1652b --- /dev/null +++ b/installer/easy_install/407_create_subparts.lua @@ -0,0 +1,28 @@ +-- $Id: 407_create_subparts.lua,v 1.3 2005/08/27 19:42:10 cpressey Exp $ + +return { + id = "create_subparts", + name = _("Create Subpartitions"), + req_state = { "sel_disk", "sel_part" }, + interactive = false, + effect = function(step) + local cmds = CmdChain.new() + + App.state.sel_part:cmds_disklabel(cmds) + App.state.sel_part:cmds_install_bootstrap(cmds) + App.state.sel_part:cmds_initialize_filesystems(cmds) + + if not cmds:execute() then + App.ui:inform(_( + "The subpartitions you have chosen were " .. + "not correctly created, and the " .. + "primary partition may now be in an " .. + "inconsistent state. We recommend " .. + "re-formatting it before proceeding." + )) + return step:prev() + end + + return step:next() + end +} diff --git a/installer/easy_install/420_preselect_packages.lua b/installer/easy_install/420_preselect_packages.lua new file mode 100644 index 0000000..873ddb0 --- /dev/null +++ b/installer/easy_install/420_preselect_packages.lua @@ -0,0 +1,33 @@ +-- $Id: 420_preselect_packages.lua,v 1.8 2005/08/26 04:25:24 cpressey Exp $ + +-- +-- Select the initial or required packages to install. +-- + +return { + id = "preselect_packages", + name = _("Pre-select Packages"), + interactive = false, + req_state = { "source" }, + effect = function(step) + -- + -- If the user hasn't selected any packages yet, set them up with + -- the default packages. + -- + if not App.state.sel_pkgs then + local def_pkgs = App.conf.default_packages or {} + local pkg, i, regexp + + App.state.sel_pkgs = Package.Set.new() + for pkg in App.state.all_pkgs:each_pkg() do + for i, regexp in def_pkgs do + if string.find(pkg:get_name(), regexp) then + App.state.sel_pkgs:add(pkg) + end + end + end + end + + return step:next() + end +} diff --git a/installer/easy_install/500_install_os.lua b/installer/easy_install/500_install_os.lua new file mode 100644 index 0000000..0edd722 --- /dev/null +++ b/installer/easy_install/500_install_os.lua @@ -0,0 +1,279 @@ +-- $Id: 500_install_os.lua,v 1.82 2006/07/27 21:47:52 sullrich Exp $ + +-- +-- Actually install the OS. +-- XXX this could probably be split up into further steps: +-- +-- 2) activate swap +-- 3) create and mount the target system +-- 4) copy the files +-- 5) clean up +-- + +return { + id = "install_os", + name = _("Install OS"), + req_state = { "storage", "sel_disk", "sel_part", "sel_pkgs" }, + effect = function(step) + local spd, cmds + + -- + -- If there is a target system mounted, unmount it before starting. + -- + if App.state.target ~= nil and App.state.target:is_mounted() then + if not App.state.target:unmount() then + App.ui:inform( + _("Warning: already-mounted target system could " .. + "not be correctly unmounted first.")) + return step:prev() + end + end + + -- + -- Create a command chain. + -- + cmds = CmdChain.new() + + -- + -- Activate swap, if there is none activated so far. + -- + if App.state.storage:get_activated_swap():in_units("K") == 0 then + for spd in App.state.sel_part:get_subparts() do + if spd:get_fstype() == "swap" then + cmds:add{ + cmdline = "${root}${SWAPON} ${root}dev/${dev}", + replacements = { + dev = spd:get_device_name() + } + } + end + end + end + + -- + -- Initialize the target system, create the mountpoint directories + -- configured for the selected partition (presumably set up by the + -- user,) and mount the appropriate subpartitions on them. + -- + App.state.target = TargetSystem.new{ + partition = App.state.sel_part, + base = "mnt" + } + if not App.state.target:create() then + App.ui:inform( + _("Could not create the skeletal target system.") + ) + return step:prev() + end + if not App.state.target:mount() then + App.ui:inform( + _("Could not mount the skeletal target system.") + ) + return step:prev() + end + cmds:set_replacements{ + base = App.state.target:get_base(), + logfile = App.conf.log_filename, + devicename = App.state.sel_part:get_escaped_device_name(), + part = App.state.sel_part:get_device_name() + } + + -- + -- Create the commands which will install the chosen directories + -- onto the target system. + -- + App.state.target:cmds_install_srcs(cmds, App.conf.install_items) + + -- + -- Remove any databases that might have been copied over but + -- will no longer be accurate, e.g. the installed-package database. + -- + cmds:add( + "${root}${RM} -rf ${root}${base}/var/db/pkg", + "${root}${MKDIR} -p ${root}${base}/var/db/pkg", + "${root}${CHMOD} 755 ${root}${base}/var/db/pkg" + ) + + -- + -- Some directories may not have been copied to the HDD, but + -- may still be required/desired on a default install. For + -- example, we generally don't want to copy the entire + -- "local packages" hierarchy, because the user may not want + -- all those packages on their system. Instead, we can create + -- the heretofore uncopied directory trees using "mtree". + -- + local mtree_dir, mtree_file + for mtree_dir, mtree_file in pairs(App.conf.mtrees_post_copy or {}) do + cmds:set_replacements{ + mtree_dir = mtree_dir, + mtree_file = mtree_file + } + cmds:add( + "${root}${MKDIR} -p ${root}${base}${mtree_dir}", + { + cmdline = "${root}${MTREE} -deU -f ${root}${mtree_file} -p ${root}${base}${mtree_dir}", + log_mode = CmdChain.LOG_QUIET -- don't spam log + } + ) + end + + -- + -- Create symlinks to temporary directory. + -- + + local real_tmp_dir = "tmp" + + if App.state.sel_part:get_subpart_by_mountpoint("/tmp") then + -- + -- If the user has a /tmp subparition, regardless of whether + -- they also have a /var subpartition, we assume they would + -- like /var/tmp to be symlinked to /tmp. + -- + cmds:add( + "${root}${RM} -rf ${root}${base}var/tmp", + "${root}${LN} -s /tmp ${root}${base}var/tmp" + ) + else + -- + -- If the user has no /tmp, but does have /var or /usr, + -- symlink /tmp to /var/tmp or /usr/tmp. + -- + if App.state.sel_part:get_subpart_by_mountpoint("/var") then + real_tmp_dir = "var/tmp" + cmds:add( + "${root}${LN} -s /var/tmp ${root}${base}tmp" + ) + elseif App.state.sel_part:get_subpart_by_mountpoint("/usr") then + real_tmp_dir = "usr/tmp" + cmds:add( + "${root}${LN} -s /usr/tmp ${root}${base}tmp" + ) + end + end + + -- + -- [Re]create the temporary directory in the desired place. + -- + cmds:set_replacements{ real_tmp_dir = real_tmp_dir } + if not App.state.sel_part:get_subpart_by_mountpoint("/" .. real_tmp_dir) then + cmds:add( + "${root}${RM} -rf ${root}${base}${real_tmp_dir}", + "${root}${MKDIR} -p ${root}${base}${real_tmp_dir}" + ) + end + cmds:add( + "${root}${CHMOD} 1777 ${root}${base}${real_tmp_dir}" + ) + + -- + -- Create symlinks to home directory. + -- + + -- + -- If the user has no /home, but does have /usr or /var, + -- symlink /home to /usr/home or /var/home. + -- + if not App.state.sel_part:get_subpart_by_mountpoint("/home") then + if App.state.sel_part:get_subpart_by_mountpoint("/usr") then + cmds:add( + "${root}${RM} -rf ${root}${base}/home", + "${root}${MKDIR} -p ${root}${base}/usr/home", + "${root}${LN} -s /usr/home ${root}${base}/home" + ) + elseif App.state.sel_part:get_subpart_by_mountpoint("/var") then + cmds:add( + "${root}${RM} -rf ${root}${base}/home", + "${root}${MKDIR} -p ${root}${base}/var/home", + "${root}${LN} -s /var/home ${root}${base}/home" + ) + end + end + + -- + -- Clean up unwanted/unneeded files. + -- Use 'rm -f' in case the file never existed in the first place. + -- + local i, filename + for i, filename in ipairs(App.conf.cleanup_items or {}) do + cmds:add{ + cmdline = "${root}${RM} -f ${root}${base}${filename}", + replacements = { + filename = filename + } + } + end + + -- + -- Create missing directories. + -- + cmds:add( + "${root}${MKDIR} -p ${root}${base}/mnt" + ) + + -- + -- Write the fstab. + -- + App.state.target:cmds_write_fstab(cmds, { + extra_fs = App.state.extra_fs + }) + + -- + -- Install requested packages. + -- + -- Note that we have to explicitly say what the temporary directory + -- will be, because the symlink (if any) won't be created yet. + -- + local pkg_graph = App.state.sel_pkgs:to_graph(function(pkg) + return pkg:get_prerequisites(App.state.source) + end, true) + local pkg_list = pkg_graph:topological_sort() + pkg_list:cmds_install_all(cmds, App.state.target, { + tmp_dir = real_tmp_dir + }) + + -- + -- Backup the disklabel. + -- + cmds:add{ + "${root}${DISKLABEL} ${part} >${root}${base}/etc/disklabel.${devicename}" + } + + -- + -- Finally, write the rc.conf modifications. + -- + App.state.rc_conf:cmds_write(cmds, + cmds:expand("${root}${base}/etc/rc.conf"), "sh") + + -- + -- Do it! + -- + if cmds:execute() then + -- + -- Success! + -- + -- Put a copy of the log on the installed system. + -- It looks like it might be necessary to close the log + -- while copying it on some system, so we do that here. + -- + App.close_log() + cmds = CmdChain.new() + cmds:set_replacements{ + base = App.state.target:get_base(), + logfile = App.conf.log_filename + } + cmds:add( + "${root}${CP} ${tmp}${logfile} ${root}${base}/var/log/${logfile}", + "${root}${CHMOD} 600 ${root}${base}/var/log/${logfile}" + ) + cmds:execute() + App.reopen_log() + + return step:next() + else + App.ui:inform( + _("%s was not fully installed.", App.conf.product.name) + ) + return step:prev() + end + end +} diff --git a/installer/easy_install/597_install_kernel.lua b/installer/easy_install/597_install_kernel.lua new file mode 100644 index 0000000..d469ca1 --- /dev/null +++ b/installer/easy_install/597_install_kernel.lua @@ -0,0 +1,65 @@ +-- $Id$ + +-- (C)2007 Scott Ullrich +-- All rights reserved. + +-- +-- Install custom kernel +-- + +return { + id = "install_kernel", + name = _("Install Kernel"), + req_state = { "storage" }, + effect = function(step) + local datasets_list = {} + + local response = App.ui:present({ + id = "install_kernel", + name = _("Install Kernel"), + short_desc = _( + "You may now wish to install a custom Kernel configuration. ", + App.conf.product.name, App.conf.product.name), + long_desc = _( + "", + App.conf.product.name + ), + special = "bsdinstaller_install_kernel", + + actions = { + { + id = "SMP", + name = _("Standard Kernel") + }, + { + id = "Embedded", + name = _("Embedded kernel (no VGA console, keyboard") + } + }, + + datasets = datasets_list, + multiple = "true", + extensible = "false" + }) + + if response.action_id == "SMP" then + local cmds = CmdChain.new() + cmds:add("tar xzpf /kernels/kernel_*SMP*.gz -C /mnt/boot/") + cmds:add("echo SMP > /mnt/boot/kernel/pfsense_kernel.txt") + cmds:execute() + end + if response.action_id == "Embedded" then + local cmds = CmdChain.new() + cmds:add("tar xzpf /kernels/kernel_*wrap*.gz -C /mnt/boot/") + cmds:add("test -f /etc/ttys_wrap && cp /etc/ttys_wrap /mnt/etc/ttys") + cmds:add("echo wrap > /mnt/boot/kernel/pfsense_kernel.txt") + -- turn on serial console + cmds:add("echo -D >> /mnt/boot.config") + cmds:add("echo console=\"comconsole\" >> /mnt/boot/loader.conf") + cmds:execute() + end + + return step:next() + + end +} diff --git a/installer/easy_install/598_install_bootblocks.lua b/installer/easy_install/598_install_bootblocks.lua new file mode 100644 index 0000000..5a9497a --- /dev/null +++ b/installer/easy_install/598_install_bootblocks.lua @@ -0,0 +1,81 @@ +-- $Id: 598_install_bootblocks.lua,v 1.13 2007/08/02 07:42:52 sullrich Exp $ + +-- +-- Install bootblocks on the disks that the user selects. +-- + +return { + id = "install_bootblocks", + name = _("Install Bootblocks"), + req_state = { "storage" }, + effect = function(step) + local datasets_list = {} + local dd + local disk_ref = {} -- map from raw name to ref to Storage.Disk + + for dd in App.state.storage:get_disks() do + local raw_name = dd:get_raw_device_name() + + disk_ref[raw_name] = dd + + -- + -- Only install to selected disk + -- + if App.state.sel_disk == dd then + local dataset = { + disk = raw_name, + boot0cfg = "Y", + packet = "N" + } + -- + -- For disks larger than 8 gigabytes in size, + -- enable "packet mode" booting by default. + -- + if dd:get_capacity():in_units("G") >= 8 then + dataset.packet = "Y" + end + if raw_name == App.state.sel_disk:get_name() then + table.insert(datasets_list, dataset) + end + end + + end + local cmds = CmdChain.new() + local i, dataset + + for i, dataset in ipairs(datasets_list) do + if dataset.boot0cfg == "Y" then + if dataset.usegrub == "Y" then + dd = disk_ref[dataset.disk] + disk = dd:get_name() + -- + -- execute Grub boot block installer + -- + cmds:set_replacements{ + disk = disk + } + cmds:add("/sbin/sysctl kern.geom.debugflags=16") + cmds:add("/usr/local/sbin/grub-install --root-directory=/mnt/ /dev/${disk}") + cmds:add("echo \"default=0\" > /mnt/boot/grub/menu.lst") + cmds:add("echo \"timeout=5\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \"title pfSense\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \" root (hd0,0,a)\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \" kernel /boot/loader\" >> /mnt/boot/grub/menu.lst") + cmds:add("/usr/local/sbin/grub-install --root-directory=/mnt/ /dev/${disk}") + else + dd = disk_ref[dataset.disk] + dd:cmds_install_bootblock(cmds, + (dataset.packet == "Y")) + disk = dd:get_name() + cmds:set_replacements{ + disk = disk + } + cmds:add("/usr/sbin/boot0cfg -B -b /boot/boot0 /dev/${disk}") + end + end + end + + cmds:execute() + return step:next() + end +} diff --git a/installer/easy_install/599_after_installation_tasks.lua b/installer/easy_install/599_after_installation_tasks.lua new file mode 100644 index 0000000..73ca59b --- /dev/null +++ b/installer/easy_install/599_after_installation_tasks.lua @@ -0,0 +1,34 @@ + +-- +-- pfSense after installation routines +-- +-- Loop through io.lines(filename) and +-- run each command listed in file. +-- +-- This file cleans up after a normal install. +-- + +return { + id = "pfsense_after_install", + name = _("pfSense after installation routines"), + effect = function(step) + local cmds = CmdChain.new() + local filename = "/usr/local/bin/after_installation_routines.sh" + local line + + for line in io.lines(filename) do + cmds:set_replacements{ + line = line, + base = App.state.target:get_base() + } + if not string.find(line, "^%#") then + cmds:add("${line}") + end + end + + cmds:execute() + + return step:next() + + end +} diff --git a/installer/easy_install/900_reboot.lua b/installer/easy_install/900_reboot.lua new file mode 100644 index 0000000..be1cd8c --- /dev/null +++ b/installer/easy_install/900_reboot.lua @@ -0,0 +1,17 @@ +-- $Id: 900_reboot.lua,v 1.15 2005/08/13 18:46:09 cpressey Exp $ + +-- +-- Reboot the system, so that the user can test booting from +-- their newly-installed system. +-- + +return { + id = "reboot", + name = _("Reboot"), + effect = function(step) + App.state.do_reboot = TargetSystemUI.ask_reboot{ + cancel_desc = _("Return to %s", step:get_upper_name()) + } + return nil + end +} diff --git a/installer/easy_install/main.lua b/installer/easy_install/main.lua new file mode 100644 index 0000000..b2dd507 --- /dev/null +++ b/installer/easy_install/main.lua @@ -0,0 +1,11 @@ +-- install/main.lua +-- $Id: main.lua,v 1.12 2005/07/08 20:18:20 cpressey Exp $ + +-- +-- Flow driver for Install Flow. +-- + +Flow.new{ + id = "install", + name = _("Install OS") +}:populate("."):run() diff --git a/installer/installer_root_dir/270_install_bootblocks.lua b/installer/installer_root_dir/270_install_bootblocks.lua new file mode 100755 index 0000000..e69de29 diff --git a/installer/installer_root_dir/500_create_geom_mirror.lua b/installer/installer_root_dir/500_create_geom_mirror.lua new file mode 100644 index 0000000..3175375 --- /dev/null +++ b/installer/installer_root_dir/500_create_geom_mirror.lua @@ -0,0 +1,152 @@ +-- $Id$ + +-- +-- Copyright (c)2005 Scott Ullrich. All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions +-- are met: +-- +-- 1. Redistributions of source code must retain the above copyright +-- notices, this list of conditions and the following disclaimer. +-- 2. Redistributions in binary form must reproduce the above copyright +-- notices, this list of conditions, and the following disclaimer in +-- the documentation and/or other materials provided with the +-- distribution. +-- 3. Neither the names of the copyright holders nor the names of their +-- contributors may be used to endorse or promote products derived +-- from this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING, BUT NOT +-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +-- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-- COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +-- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +-- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +-- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- + +-- BEGIN 500_create_geom_mirror.lua -- + +-- This module requires FreeBSD +if App.conf.os.name ~= "FreeBSD" then + return nil, "module requires FreeBSD" +end + +-- This module requires more than one disk +if App.state.storage:get_disk_count() < 2 then + return nil, "could not probe more than 1 hard disk" +end + +if App.state.target ~= nil and App.state.target:is_mounted() then + return nil, "Target volume is already mounted" +end + +-- +-- FreeBSD specific module GEOM/GMirror +-- +-- If more than two disks are detected, ask if the user wishes +-- to setup a GEOM/GMirror volume. The volume will then appear +-- in the future select disk step. +-- +return { + id = "setup_gmirror", + name = _("Setup GEOM Mirror"), + req_state = { "configure" }, + effect = function(step) + + -- Ask if user wnats a GEOM mirror to be created + local response = App.ui:present{ + name = _("GEOM Mirror"), + short_desc = _("Would you like to setup a GEOM mirror? "), + actions = { + { + id = "ok", + name = _("Yes, setup a GEOM mirror") + }, + { + id = "cancel", + accelerator = "ESC", + name = _("No thanks") + } + } + } + + if response.action_id ~= "ok" then + return Menu.CONTINUE + end + + local disk1 + local disk2 + + local dd = StorageUI.select_disk({ + sd = App.state.storage, + short_desc = _( + "Select the primary disk %s ", + App.conf.product.name), + cancel_desc = _("Cancel") + }) + disk1 = dd:get_name() + + local dd = StorageUI.select_disk({ + sd = App.state.storage, + short_desc = _( + "Select the disk on which the mirror of %s ", + App.conf.product.name), + cancel_desc = _("Cancel") + }) + disk2 = dd:get_name() + + -- Make sure disk 1 was selected + if not disk1 then + return Menu.CONTINUE + end + + -- Make sure disk 2 was selected + if not disk2 then + return Menu.CONTINUE + end + + if disk1 == disk2 then + App.ui:inform(_( + "You need two unique disks to create a GEOM MIRROR.") + ) + return Menu.CONTINUE + end + + local cmds = CmdChain.new() + -- XXX: switch to a while loop and allow user to add more than 2 disks + cmds:add{ + cmdline = "${root}sbin/gmirror label -v -b split ${OS}Mirror ${disk1} ${disk2}", + replacements = { + OS = App.conf.product.name, + disk1 = disk1, + disk2 = disk2 + } + } + + -- Finally execute the commands to create the gmirror + if cmds:execute() then + App.ui:inform(_( + "The GEOM mirror has been created with no errors. " .. + "The mirror disk will now appear in the select disk step.") + ) + -- Survey disks again, they have changed. + App.state.storage:survey() + else + App.ui:inform(_( + "The GEOM mirror was NOT created due to errors.") + ) + end + + return Menu.CONTINUE + + end + +} + diff --git a/installer/installer_root_dir/597_install_kernel.lua b/installer/installer_root_dir/597_install_kernel.lua new file mode 100644 index 0000000..213e276 --- /dev/null +++ b/installer/installer_root_dir/597_install_kernel.lua @@ -0,0 +1,65 @@ +-- $Id$ + +-- (C)2007 Scott Ullrich +-- All rights reserved. + +-- +-- Install custom kernel +-- + +return { + id = "install_kernel", + name = _("Install Kernel"), + req_state = { "storage" }, + effect = function(step) + local datasets_list = {} + + local response = App.ui:present({ + id = "install_kernel", + name = _("Install Kernel(s)"), + short_desc = _( + "You may now wish to install a custom Kernel configuration. ", + App.conf.product.name, App.conf.product.name), + long_desc = _( + "Selecting a custom kernel will help you get the most out of your hardware. For example most hardware these days comes in multiple cores. Pick the SMP option if your hardware supports this. ", + App.conf.product.name + ), + special = "bsdinstaller_install_kernel", + + actions = { + { + id = "SMP", + name = _("Symmetric multiprocessing kernel (more than one processor)") + }, + { + id = "Embedded", + name = _("Embedded kernel (no vga console, keyboard") + } + }, + + datasets = datasets_list, + multiple = "true", + extensible = "false" + }) + + if response.action_id == "SMP" then + local cmds = CmdChain.new() + cmds:add("tar xzpf /kernels/kernel_*SMP*.gz -C /mnt/boot/") + cmds:add("echo SMP > /mnt/boot/kernel/pfsense_kernel.txt") + cmds:execute() + end + if response.action_id == "Embedded" then + local cmds = CmdChain.new() + cmds:add("tar xzpf /kernels/kernel_*wrap*.gz -C /mnt/boot/") + cmds:add("test -f /etc/ttys_wrap && cp /etc/ttys_wrap /mnt/etc/ttys") + cmds:add("echo wrap > /mnt/boot/kernel/pfsense_kernel.txt") + -- turn on serial console + cmds:add("echo -D >> /mnt/boot.config") + cmds:add("echo console=\"comconsole\" >> /mnt/boot/loader.conf") + cmds:execute() + end + + return step:next() + + end +} diff --git a/installer/installer_root_dir/598_install_bootblocks.lua b/installer/installer_root_dir/598_install_bootblocks.lua new file mode 100644 index 0000000..1ae96cc --- /dev/null +++ b/installer/installer_root_dir/598_install_bootblocks.lua @@ -0,0 +1,163 @@ +-- $Id$ + +-- +-- Install bootblocks on the disks that the user selects. +-- + +return { + id = "install_bootblocks", + name = _("Install Bootblocks"), + req_state = { "storage" }, + effect = function(step) + local datasets_list = {} + local dd + local disk_ref = {} -- map from raw name to ref to Storage.Disk + + for dd in App.state.storage:get_disks() do + local raw_name = dd:get_raw_device_name() + + disk_ref[raw_name] = dd + + local dataset = { + disk = raw_name, + boot0cfg = "Y", + packet = "N" + } + + -- + -- For disks larger than 8 gigabytes in size, + -- enable "packet mode" booting by default. + -- + if dd:get_capacity():in_units("G") >= 8 then + dataset.packet = "Y" + end + + table.insert(datasets_list, dataset) + end + + local response = App.ui:present({ + id = "install_bootstrap", + name = _("Install Bootblock(s)"), + short_desc = _( + "You may now wish to install bootblocks on one or more disks. " .. + "If you already have a boot manager installed, you can skip " .. + "this step (but you may have to configure your boot manager " .. + "separately.) If you wish to install %s on a disk other " .. + "than your first disk, you will need to put the bootblock " .. + "on at least your first disk and the %s disk.", + App.conf.product.name, App.conf.product.name), + long_desc = _( + "'Packet Mode' refers to using newer BIOS calls to boot " .. + "from a partition of the disk. It is generally not " .. + "required unless:\n\n" .. + "- your BIOS does not support legacy mode; or\n" .. + "- your %s primary partition resides on a " .. + "cylinder of the disk beyond cylinder 1024; or\n" .. + "- you just can't get it to boot without it.", + App.conf.product.name + ), + special = "bsdinstaller_install_bootstrap", + + fields = { + { + id = "disk", + name = _("Disk Drive"), + short_desc = _("The disk on which you wish to install a bootblock"), + editable = "false" + }, + { + id = "boot0cfg", + name = _("Install Bootblock?"), + short_desc = _("Install a bootblock on this disk"), + control = "checkbox" + }, + { + id = "packet", + name = _("Packet mode?"), + short_desc = _("Select this to use 'packet mode' to boot the disk"), + control = "checkbox" + }, + { + id = "usegrub", + name = _("Use Grub"), + short_desc = _("Select this to use Grub to boot the disk"), + control = "checkbox" + } + }, + + actions = { + { + id = "ok", + name = _("Accept and Install Bootblocks") + }, + { + id = "skip", + name = _("Skip this Step") + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to %s", step:get_prev_name()) + } + }, + + datasets = datasets_list, + + multiple = "true", + extensible = "false" + }) + + if response.action_id == "ok" then + local cmds = CmdChain.new() + local i, dataset + + for i, dataset in ipairs(response.datasets) do + if dataset.boot0cfg == "Y" then + if dataset.usegrub == "Y" then + dd = disk_ref[dataset.disk] + disk = dd:get_name() + -- execute Grub boot block installer + cmds:set_replacements{ + disk = disk + } + cmds:add("sysctl kern.geom.debugflags=16") + cmds:add("/usr/local/sbin/grub-install --root-directory=/mnt/ /dev/${disk}") + cmds:add("echo \"serial --unit=0 --speed=9600\" > /mnt/boot/grub/menu.lst") + cmds:add("echo \"terminal --timeout=3 serial console\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \"default=0\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \"timeout=5\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \"title pfSense\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \" root (hd0,0,a)\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \" kernel /boot/loader\" >> /mnt/boot/grub/menu.lst") + cmds:add("/usr/local/sbin/grub-install --root-directory=/mnt/ /dev/${disk}") + else + dd = disk_ref[dataset.disk] + dd:cmds_install_bootblock(cmds, + (dataset.packet == "Y")) + disk = dd:get_name() + cmds:set_replacements{ + disk = disk + } + cmds:add("boot0cfg -B -b /boot/boot0 /dev/${disk}") + end + end + end + + if cmds:execute() then + App.ui:inform(_( + "Bootblocks were successfully installed!" + )) + return step:next() + else + App.ui:inform(_( + "Bootblocks were not successfully installed." + )) + return step + end + elseif response.action_id == "skip" then + return step:next() + else + return step:prev() + end + end +} diff --git a/installer/installer_root_dir/599_after_installation_tasks.lua b/installer/installer_root_dir/599_after_installation_tasks.lua new file mode 100644 index 0000000..c19d637 --- /dev/null +++ b/installer/installer_root_dir/599_after_installation_tasks.lua @@ -0,0 +1,37 @@ + +-- +-- pfSense after installation routines +-- +-- Loop through io.lines(filename) and +-- run each command listed in file. +-- +-- This file cleans up after a normal install. +-- + +return { + id = "pfsense_after_install", + name = _("pfSense After Installation Routines"), + effect = function(step) + local cmds = CmdChain.new() + local filename = "/usr/local/bin/after_installation_routines.sh" + local line + + for line in io.lines(filename) do + cmds:set_replacements{ + line = line, + base = App.state.target:get_base() + } + if not string.find(line, "^%#") then + cmds:add("${line}") + end + end + + cmds:execute() + + return step:next() + + end + + + +} diff --git a/installer/installer_root_dir7/150_easy_install.lua b/installer/installer_root_dir7/150_easy_install.lua new file mode 100644 index 0000000..ca0edf1 --- /dev/null +++ b/installer/installer_root_dir7/150_easy_install.lua @@ -0,0 +1,12 @@ +-- $Id: 800_easy_install.lua,v 1.3 2005/04/12 13:28:31 den Exp $ + +return { + id = "set_up_easy_install", + name = _("Quick/Easy Install"), + short_desc = _("Invoke Installer with minimal questions"), + effect = function() + App.descend("easy_install") + return Menu.CONTINUE + end +} + diff --git a/installer/installer_root_dir7/200_install.lua b/installer/installer_root_dir7/200_install.lua new file mode 100644 index 0000000..2cad75b --- /dev/null +++ b/installer/installer_root_dir7/200_install.lua @@ -0,0 +1,30 @@ +-- $Id: 200_install.lua,v 1.12 2005/08/30 00:39:05 cpressey Exp $ + +-- +-- Menu.Item scriptlet that generates the install menu item. +-- Note that, if we detect that we weren't started from the +-- installation media, we don't provide this menu item. +-- + +if not App.conf.booted_from_install_media then + return nil, "not booted from install media" +end + +return { + id = "install_os", + name = _("Custom Install"), + short_desc = _("Perform a custom installation of %s on this computer system", + App.conf.product.name), + effect = function() + -- + -- Make a recording of the install session. + -- XXX this might make more sense elsewhere, like as + -- Flow.Steps during the install itself? + -- + CmdChain.record_to(App.expand("${tmp}install-session.sh")) + App.descend("install") + CmdChain.stop_recording() + + return Menu.CONTINUE + end +} diff --git a/installer/installer_root_dir7/270_install_bootblocks.lua b/installer/installer_root_dir7/270_install_bootblocks.lua new file mode 100644 index 0000000..e69de29 diff --git a/installer/installer_root_dir7/300_rescueconfig.lua b/installer/installer_root_dir7/300_rescueconfig.lua new file mode 100644 index 0000000..cd7be31 --- /dev/null +++ b/installer/installer_root_dir7/300_rescueconfig.lua @@ -0,0 +1,116 @@ +-- +-- Copyright (c)2009 Scott Ullrich. All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions +-- are met: +-- +-- 1. Redistributions of source code must retain the above copyright +-- notices, this list of conditions and the following disclaimer. +-- 2. Redistributions in binary form must reproduce the above copyright +-- notices, this list of conditions, and the following disclaimer in +-- the documentation and/or other materials provided with the +-- distribution. +-- 3. Neither the names of the copyright holders nor the names of their +-- contributors may be used to endorse or promote products derived +-- from this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING, BUT NOT +-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +-- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-- COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +-- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +-- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +-- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- + +-- BEGIN 050_rescue_config.lua -- + +if not App.conf.booted_from_install_media then + return nil, "not booted from install media" +end + +return { + id = "rescue_config", + name = _("Rescue config.xml"), + req_state = { "configure" }, + short_desc = _("Rescue config.xml from hard device"), + effect = function() + + local disk1 + local success = false + + App.ui:inform(_( + "This tool will help you recover config.xml from a hard disk installation." ) + ) + + local dd = StorageUI.select_disk({ + sd = App.state.storage, + short_desc = _( + "Select the disk containing config.xml %s ", + App.conf.product.name), + cancel_desc = _("Cancel") + }) + disk1 = dd:get_name() + + -- Make sure source disk containing config.xml is selected + if not disk1 then + return step:prev() + end + + local cmds = CmdChain.new() + cmds:add("${root}bin/rm -f /tmp/config.cache"); + cmds:add{ + cmdline = "${root}sbin/fsck -t ufs -y /dev/${disk1}s1a ; ${root}bin/mkdir /tmp/hdrescue ; ${root}sbin/mount /dev/${disk1}s1a /tmp/hdrescue", + replacements = { + OS = App.conf.product.name, + disk1 = disk1 + } + } + + if cmds:execute() then + success = true + end + + if success == true then + success = false + if FileName.is_file("/tmp/hdrescue/cf/conf/config.xml") then + cmds = CmdChain.new() + cmds:add("${root}bin/cp /tmp/hdrescue/cf/conf/config.xml /cf/conf/config.xml"); + cmds:add{ + cmdline = "${root}sbin/umount /tmp/hdrescue", + replacements = { + OS = App.conf.product.name, + disk1 = disk1 + } + } + if FileName.is_file("/tmp/config.cache") then + cmds:add("${root}bin/rm /tmp/config.cache"); + end + if cmds:execute() then + success = true + end + end + end + + if success == true then + App.ui:inform(_( + "The configuration has been rescued. If you are running this from option 99, you will need to reboot.") + ) + else + App.ui:inform(_( + "config.xml was not rescued due to errors. Check /tmp/installer.log for more information.") + ) + end + + return Menu.CONTINUE + + end +} + + diff --git a/installer/installer_root_dir7/500_create_geom_mirror.lua b/installer/installer_root_dir7/500_create_geom_mirror.lua new file mode 100644 index 0000000..3175375 --- /dev/null +++ b/installer/installer_root_dir7/500_create_geom_mirror.lua @@ -0,0 +1,152 @@ +-- $Id$ + +-- +-- Copyright (c)2005 Scott Ullrich. All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions +-- are met: +-- +-- 1. Redistributions of source code must retain the above copyright +-- notices, this list of conditions and the following disclaimer. +-- 2. Redistributions in binary form must reproduce the above copyright +-- notices, this list of conditions, and the following disclaimer in +-- the documentation and/or other materials provided with the +-- distribution. +-- 3. Neither the names of the copyright holders nor the names of their +-- contributors may be used to endorse or promote products derived +-- from this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING, BUT NOT +-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +-- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-- COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +-- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +-- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +-- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- + +-- BEGIN 500_create_geom_mirror.lua -- + +-- This module requires FreeBSD +if App.conf.os.name ~= "FreeBSD" then + return nil, "module requires FreeBSD" +end + +-- This module requires more than one disk +if App.state.storage:get_disk_count() < 2 then + return nil, "could not probe more than 1 hard disk" +end + +if App.state.target ~= nil and App.state.target:is_mounted() then + return nil, "Target volume is already mounted" +end + +-- +-- FreeBSD specific module GEOM/GMirror +-- +-- If more than two disks are detected, ask if the user wishes +-- to setup a GEOM/GMirror volume. The volume will then appear +-- in the future select disk step. +-- +return { + id = "setup_gmirror", + name = _("Setup GEOM Mirror"), + req_state = { "configure" }, + effect = function(step) + + -- Ask if user wnats a GEOM mirror to be created + local response = App.ui:present{ + name = _("GEOM Mirror"), + short_desc = _("Would you like to setup a GEOM mirror? "), + actions = { + { + id = "ok", + name = _("Yes, setup a GEOM mirror") + }, + { + id = "cancel", + accelerator = "ESC", + name = _("No thanks") + } + } + } + + if response.action_id ~= "ok" then + return Menu.CONTINUE + end + + local disk1 + local disk2 + + local dd = StorageUI.select_disk({ + sd = App.state.storage, + short_desc = _( + "Select the primary disk %s ", + App.conf.product.name), + cancel_desc = _("Cancel") + }) + disk1 = dd:get_name() + + local dd = StorageUI.select_disk({ + sd = App.state.storage, + short_desc = _( + "Select the disk on which the mirror of %s ", + App.conf.product.name), + cancel_desc = _("Cancel") + }) + disk2 = dd:get_name() + + -- Make sure disk 1 was selected + if not disk1 then + return Menu.CONTINUE + end + + -- Make sure disk 2 was selected + if not disk2 then + return Menu.CONTINUE + end + + if disk1 == disk2 then + App.ui:inform(_( + "You need two unique disks to create a GEOM MIRROR.") + ) + return Menu.CONTINUE + end + + local cmds = CmdChain.new() + -- XXX: switch to a while loop and allow user to add more than 2 disks + cmds:add{ + cmdline = "${root}sbin/gmirror label -v -b split ${OS}Mirror ${disk1} ${disk2}", + replacements = { + OS = App.conf.product.name, + disk1 = disk1, + disk2 = disk2 + } + } + + -- Finally execute the commands to create the gmirror + if cmds:execute() then + App.ui:inform(_( + "The GEOM mirror has been created with no errors. " .. + "The mirror disk will now appear in the select disk step.") + ) + -- Survey disks again, they have changed. + App.state.storage:survey() + else + App.ui:inform(_( + "The GEOM mirror was NOT created due to errors.") + ) + end + + return Menu.CONTINUE + + end + +} + diff --git a/installer/installer_root_dir7/597_install_kernel.lua b/installer/installer_root_dir7/597_install_kernel.lua new file mode 100644 index 0000000..f6c8c49 --- /dev/null +++ b/installer/installer_root_dir7/597_install_kernel.lua @@ -0,0 +1,65 @@ +-- $Id$ + +-- (C)2007 Scott Ullrich +-- All rights reserved. + +-- +-- Install custom kernel +-- + +return { + id = "install_kernel", + name = _("Install Kernel"), + req_state = { "storage" }, + effect = function(step) + local datasets_list = {} + + local response = App.ui:present({ + id = "install_kernel", + name = _("Install Kernel(s)"), + short_desc = _( + "You may now wish to install a custom Kernel configuration. ", + App.conf.product.name, App.conf.product.name), + long_desc = _( + "Selecting a custom kernel will help you get the most out of your hardware. For example most hardware these days comes in multiple cores. Pick the SMP option if your hardware supports this. ", + App.conf.product.name + ), + special = "bsdinstaller_install_kernel", + + actions = { + { + id = "SMP", + name = _("Symmetric multiprocessing kernel (more than one processor)") + }, + { + id = "Embedded", + name = _("Embedded kernel (no vga console, keyboard") + } + }, + + datasets = datasets_list, + multiple = "true", + extensible = "false" + }) + + if response.action_id == "SMP" then + local cmds = CmdChain.new() + cmds:add("tar xzpf /kernels/kernel_*SMP*.gz -C /mnt/boot/") + cmds:add("echo SMP > /mnt/boot/kernel/pfsense_kernel.txt") + cmds:execute() + end + if response.action_id == "Embedded" then + local cmds = CmdChain.new() + cmds:add("tar xzpf /kernels/kernel_*wrap*.gz -C /mnt/boot/") + cmds:add("cp /etc/ttys_wrap /mnt/etc/ttys") + cmds:add("echo wrap > /mnt/boot/kernel/pfsense_kernel.txt") + -- turn on serial console + cmds:add("echo -D >> /mnt/boot.config") + cmds:add("echo console=\"comconsole\" >> /mnt/boot/loader.conf") + cmds:execute() + end + + return step:next() + + end +} diff --git a/installer/installer_root_dir7/598_install_bootblocks.lua b/installer/installer_root_dir7/598_install_bootblocks.lua new file mode 100644 index 0000000..df20c8d --- /dev/null +++ b/installer/installer_root_dir7/598_install_bootblocks.lua @@ -0,0 +1,166 @@ +-- $Id$ + +-- +-- Install bootblocks on the disks that the user selects. +-- + +return { + id = "install_bootblocks", + name = _("Install Bootblocks"), + req_state = { "storage" }, + effect = function(step) + local datasets_list = {} + local dd + local disk_ref = {} -- map from raw name to ref to Storage.Disk + + for dd in App.state.storage:get_disks() do + local raw_name = dd:get_raw_device_name() + + disk_ref[raw_name] = dd + + local dataset = { + disk = raw_name, + boot0cfg = "Y", + usegrub = "N", + packet = "N" + } + + -- + -- For disks larger than 8 gigabytes in size, + -- enable "packet mode" booting by default. + -- + if dd:get_capacity():in_units("G") >= 8 then + dataset.packet = "Y" + end + + table.insert(datasets_list, dataset) + end + + local response = App.ui:present({ + id = "install_bootstrap", + name = _("Install Bootblock(s)"), + short_desc = _( + "You may now wish to install bootblocks on one or more disks. " .. + "If you already have a boot manager installed, you can skip " .. + "this step (but you may have to configure your boot manager " .. + "separately.) If you wish to install %s on a disk other " .. + "than your first disk, you will need to put the bootblock " .. + "on at least your first disk and the %s disk.", + App.conf.product.name, App.conf.product.name), + long_desc = _( + "'Packet Mode' refers to using newer BIOS calls to boot " .. + "from a partition of the disk. It is generally not " .. + "required unless:\n\n" .. + "- your BIOS does not support legacy mode; or\n" .. + "- your %s primary partition resides on a " .. + "cylinder of the disk beyond cylinder 1024; or\n" .. + "- you just can't get it to boot without it.", + App.conf.product.name + ), + special = "bsdinstaller_install_bootstrap", + + fields = { + { + id = "disk", + name = _("Disk Drive"), + short_desc = _("The disk on which you wish to install a bootblock"), + editable = "false" + }, + { + id = "boot0cfg", + name = _("Install Bootblock?"), + short_desc = _("Install a bootblock on this disk"), + control = "checkbox" + }, + { + id = "packet", + name = _("Packet mode?"), + short_desc = _("Select this to use 'packet mode' to boot the disk"), + control = "checkbox" + }, + { + id = "usegrub", + name = _("Use Grub"), + short_desc = _("Select this to use Grub to boot the disk"), + control = "checkbox" + } + }, + + actions = { + { + id = "ok", + name = _("Accept and Install Bootblocks") + }, + { + id = "skip", + name = _("Skip this Step") + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to %s", step:get_prev_name()) + } + }, + + datasets = datasets_list, + + multiple = "true", + extensible = "false" + }) + + if response.action_id == "ok" then + local cmds = CmdChain.new() + local i, dataset + + for i, dataset in ipairs(response.datasets) do + if dataset.boot0cfg == "Y" then + if dataset.usegrub == "Y" then + dd = disk_ref[dataset.disk] + disk = dd:get_name() + -- execute Grub boot block installer + cmds:set_replacements{ + disk = disk + } + cmds:add("sysctl kern.geom.debugflags=16") + cmds:add("/bin/mkdir /mnt/boot/grub") + cmds:add("echo \"serial --unit=0 --speed=9600\" > /mnt/boot/grub/menu.lst") + cmds:add("echo \"terminal --timeout=3 serial console\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \"default=0\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \"timeout=5\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \"title pfSense\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \" root (hd0,0,a)\" >> /mnt/boot/grub/menu.lst") + cmds:add("echo \" kernel /boot/loader\" >> /mnt/boot/grub/menu.lst") + cmds:add("/usr/local/sbin/grub-install1 --root-directory=/mnt/ /dev/${disk}") + else + dd = disk_ref[dataset.disk] + dd:cmds_install_bootblock(cmds, + (dataset.packet == "Y")) + disk = dd:get_name() + cmds:set_replacements{ + disk = disk + } + cmds:add("boot0cfg -B -b /boot/boot0 /dev/${disk}") + end + end + end + + if cmds:execute() then + App.ui:inform(_( + "Bootblocks were successfully installed!" + )) + return step:next() + else + App.ui:inform(_( + "Bootblocks were not successfully installed." + )) + return step + end + + elseif response.action_id == "skip" then + return step:next() + else + return step:prev() + end + + end +} diff --git a/installer/installer_root_dir7/599_after_installation_tasks.lua b/installer/installer_root_dir7/599_after_installation_tasks.lua new file mode 100644 index 0000000..c19d637 --- /dev/null +++ b/installer/installer_root_dir7/599_after_installation_tasks.lua @@ -0,0 +1,37 @@ + +-- +-- pfSense after installation routines +-- +-- Loop through io.lines(filename) and +-- run each command listed in file. +-- +-- This file cleans up after a normal install. +-- + +return { + id = "pfsense_after_install", + name = _("pfSense After Installation Routines"), + effect = function(step) + local cmds = CmdChain.new() + local filename = "/usr/local/bin/after_installation_routines.sh" + local line + + for line in io.lines(filename) do + cmds:set_replacements{ + line = line, + base = App.state.target:get_base() + } + if not string.find(line, "^%#") then + cmds:add("${line}") + end + end + + cmds:execute() + + return step:next() + + end + + + +} diff --git a/installer/installer_root_dir7/950_reboot.lua b/installer/installer_root_dir7/950_reboot.lua new file mode 100644 index 0000000..ee23553 --- /dev/null +++ b/installer/installer_root_dir7/950_reboot.lua @@ -0,0 +1,20 @@ +-- $Id: 950_reboot.lua,v 1.2 2005/08/13 18:46:09 cpressey Exp $ + +return { + id = "reboot", + name = _("Reboot"), + short_desc = _("Reboot this computer"), + effect = function() + if TargetSystemUI.ask_reboot{ + cancel_desc = _("Return to Select Task") -- XXX this_menu_name + } then + App.state.do_reboot = true + local cmds = CmdChain.new() + cmds:add("/usr/bin/touch /tmp/install_complete") + cmds:execute() + return nil + else + return Menu.CONTINUE + end + end +} diff --git a/installer/pools_arrays_geom/100_create_zfs_pool.lua b/installer/pools_arrays_geom/100_create_zfs_pool.lua new file mode 100644 index 0000000..2997833 --- /dev/null +++ b/installer/pools_arrays_geom/100_create_zfs_pool.lua @@ -0,0 +1,105 @@ +-- +-- Copyright (C)2009 Scott Ullrich. All rights reserved. +-- sullrich@gmail.com +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions +-- are met: +-- +-- 1. Redistributions of source code must retain the above copyright +-- notices, this list of conditions and the following disclaimer. +-- 2. Redistributions in binary form must reproduce the above copyright +-- notices, this list of conditions, and the following disclaimer in +-- the documentation and/or other materials provided with the +-- distribution. +-- 3. Neither the names of the copyright holders nor the names of their +-- contributors may be used to endorse or promote products derived +-- from this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING, BUT NOT +-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +-- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +-- COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +-- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +-- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +-- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- + +-- BEGIN 100_create_zfs_pool.lua -- + +-- This module requires FreeBSD +if App.conf.os.name ~= "FreeBSD" then + return nil, "module requires FreeBSD" +end + +return { + id = "createzfspool", + name = _("Create ZFS Pool"), + effect = function(step) + + local response = App.ui:present{ + id = "createazfspool", + name = _("Pool Name"), + short_desc = _("Pool Name"), + fields = { + { + id = "poolname", + name = _("Pool name"), + short_desc = _("Enter the name of the ZFS pool") + } + }, + actions = { + { + id = "ok", + name = _("Next step") + }, + { + id = "cancel", + accelerator = "ESC", + name = _("Return to Previous Menu") + } + }, + datasets = { + { + poolname = "" + } + } + }) + + if response.action_id ~= "ok" then + return Menu.CONTINUE + end + + local cmds = CmdChain.new() + cmds:set_replacements{ + poolname = poolname + } + cmds:add("/sbin/zpool create ${disk}") + end + + -- Finally execute the commands to create the ZFS pool + if cmds:execute() then + -- Survey disks again, they have changed. + App.state.storage:survey() + App.ui:inform(_( + "The ZFS Pool has been created with no errors. \n" .. + "The pool will now appear in the select disk step.\n" .. + "Alternatively you might want to apply ZFS settings\n" .. + "and add disks to the newly created pool") + ) + else + App.ui:inform(_( + "The ZFS Pool was NOT created due to errors.") + ) + end + + return Menu.CONTINUE + +end + +} diff --git a/installer/scripts/after_installation_routines.sh b/installer/scripts/after_installation_routines.sh new file mode 100755 index 0000000..bd2d533 --- /dev/null +++ b/installer/scripts/after_installation_routines.sh @@ -0,0 +1,79 @@ +#!/bin/sh + +if [ -f /var/pfSenseDEV ]; then cp /scripts/dev_bootstrap.sh /mnt/usr/local/etc/rc.d/; chmod a+rx /mnt/usr/local/etc/rc.d/dev_bootstrap.sh; fi; + +# Lets cleanup from fake root environment +rm -rf /mnt/cloop +rm -rf /mnt/dist +rm -f /mnt/etc/rc.d/freesbie_1st +rm -f /mnt/usr/local/share/freesbie/files/000.freesbie_2nd.sh +rm -f /mnt/etc/rc.local +rm -f /mnt/etc/rc.conf +rm -f /mnt/etc/rc.conf +rm -f /mnt/etc/rc.firewall +rm -f /mnt/etc/rc.sendmail +rm -f /mnt/usr/sbin/cleargpt.sh +touch /mnt/etc/rc.conf + +# Copy the current running systems config.xml to the target installation area. +mkdir -p /mnt/cf/conf +cp -r /cf/conf/* /mnt/cf/conf/ +touch /mnt/cf/conf/trigger_initial_wizard + +# Prevent the system from asking for these twice +touch /mnt/root/.part_mount +touch /mnt/root/.first_time + +# Updating boot loader +echo autoboot_delay=\"3\" >> /mnt/boot/loader.conf +echo vm.kmem_size=\"435544320\" >> /mnt/boot/loader.conf +echo vm.kmem_size_max=\"535544320\" >> /mnt/boot/loader.conf + +echo kern.ipc.nmbclusters=\"0\" >> /mnt/boot/loader.conf + +# Hide usbus# from network interfaces list on pfSense >= 2.1 +VERSION=`head -n 1 /mnt/etc/version | cut -c 1-3`; if [ "${VERSION}" != "1.2" -a "${VERSION}" != "2.0" ]; then echo hw.usb.no_pf=\"1\" >> /mnt/boot/loader.conf; fi; + +cd /mnt && rm -rf cloop/ dist/ boot/mfsroot.gz + +rm -f /mnt/etc/motd + +# Set platform back to pfSense to prevent freesbie_1st from running +echo "pfSense" > /mnt/etc/platform + +# Remove TCSHRC installer alias +grep -v lua_installer /root/.tcshrc > /mnt/root/.tcshrc +rm -rf /mnt/scripts +find /mnt/ -name installer -or -name lua_installer -exec rm {} \; +find /mnt/ -name 000.unionfs -or -name lua_installer -exec rm {} \; + +# Self destruct myself. +rm -f /mnt/usr/local/bin/after_installation_routines.sh + +# Let parent script know that a install really happened +touch /tmp/install_complete + +chmod a-w /mnt/boot/loader.rc +chflags schg /mnt/boot/loader.rc + +mkdir -p /mnt/var/installer_logs +cp /tmp/install.disklabel /mnt/var/installer_logs +cp /tmp/install.disklabel* /mnt/var/installer_logs +cp /tmp/installer.log /mnt/var/installer_logs +cp /tmp/install-session.sh /mnt/var/installer_logs +cp /tmp/new.fdisk /mnt/var/installer_logs + +mkdir -p /mnt/var/db/pkg +cd /var/db/pkg ; tar -cpf - . | (cd /mnt/var/db/pkg ; tar -xpf -) + +# If the platform is vmware, lets do some fixups. +if [ -f /var/IS_VMWARE ]; then echo "" >> /mnt/etc/sysctl.conf; echo "kern.timecounter.hardware=i8254" >> /mnt/etc/sysctl.conf; echo kern.hz="100" >> /mnt/boot/loader.conf; fi; + +# Remove the PCBSD installer items, we do not need it once we are installed +if [ -d /mnt/usr/sbin/pc-sysinstall ]; then rm -rf /mnt/usr/sbin/pc-sysinstall; fi; + +# Fixup permissions on installed files +if [ -f /etc/installed_filesystem.mtree ]; then /usr/sbin/mtree -U -e -q -f /etc/installed_filesystem.mtree -p /mnt/ > /mnt/conf/mtree.log; fi; + +#Sync disks +/bin/sync diff --git a/installer/scripts/freebsd_installer b/installer/scripts/freebsd_installer new file mode 100644 index 0000000..32dedd0 --- /dev/null +++ b/installer/scripts/freebsd_installer @@ -0,0 +1,124 @@ +#!/bin/sh +# +# Launch BSD Installer with fake "installer root" +# Copyright 2004-2009 Scott Ullrich +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +echo +echo "One moment please..." +echo + +# Ensure install-session.sh exists where the installtion was recorded to +touch /tmp/install-session.sh + +/sbin/sysctl kern.geom.debugflags=16 +/sbin/sysctl net.link.ether.inet.log_arp_wrong_iface=0 >/dev/null + +/sbin/ifconfig lo0 127.0.0.1/24 +/sbin/ifconfig lo0 up + +# Check if host is running on VMware +if [ -f /var/log/dmesg.boot ]; then + if [ `cat /var/log/dmesg.boot | grep VMware | wc -l` -gt 0 ]; then + echo -n "VMware detected. The installer will make changes to tune this host." + touch /var/IS_VMWARE + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + # Check if host is running on pfSenseDEV + if [ `cat /var/log/dmesg.boot | grep pfSense_Dev.6 | wc -l` -gt 0 ]; then + echo -n "${product} developer iso detected." + touch /var/pfSenseDEV + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + if [ -f /var/run/dmesg.boot ]; then + ln -s /var/log/dmesg.boot /var/run/dmesg.boot + fi +fi + +echo Launching BSD Installer ... +echo -n "LUA_CPATH='/usr/local/lib/lua/5.0/?.so' exec /usr/local/bin/lua50 -l/usr/local/share/lua/5.0/compat-5.1.lua " > /tmp/lua50c51 + +echo "/usr/local/share/dfuibe_lua/main.lua \ +/usr/local/share/dfuibe_lua/conf/BSDInstaller.lua \ +/usr/local/share/dfuibe_lua/conf/FreeBSD.lua \ +/usr/local/share/dfuibe_lua/conf/FreeBSD-dist.lua " >> /tmp/lua50c51 + +#/sbin/conscontrol mute on >/dev/null 2>&1 + +sh /tmp/lua50c51 >/dev/null 2>&1 & + +sleep 1 + +echo Launching Installer NCurses frontend... +/usr/local/sbin/dfuife_curses + +#/sbin/conscontrol mute off >/dev/null 2>&1 + +clear + +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo + +echo Rebooting in 5 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 4 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 3 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 2 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 1 second.. CTRL-C to abort. +sleep 1 +echo + +reboot + diff --git a/installer/scripts/lua_installer b/installer/scripts/lua_installer new file mode 100644 index 0000000..3b5bc02 --- /dev/null +++ b/installer/scripts/lua_installer @@ -0,0 +1,155 @@ +#!/bin/sh +# +# Launch BSD Installer with fake "installer root" +# Copyright 2004-2009 Scott Ullrich +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +product=`cat /etc/inc/globals.inc | grep product_name | cut -d'"' -f4` +factory_shipped_password=`cat /etc/inc/globals.inc | grep factory_shipped_password | cut -d'"' -f4` +factory_shipped_username=`cat /etc/inc/globals.inc | grep factory_shipped_username | cut -d'"' -f4` + +echo +echo "Launching ${product} Installer..." +echo + +# Ensure install-session.sh exists where the installtion was recorded to +touch /tmp/install-session.sh + +/sbin/sysctl kern.geom.debugflags=16 +/sbin/sysctl net.link.ether.inet.log_arp_wrong_iface=0 >/dev/null + +/sbin/ifconfig lo0 127.0.0.1/24 +/sbin/ifconfig lo0 up + +# Check if host is running on VMware -- early boot +if [ `dmesg -a | grep VMware | wc -l` -gt 0 ]; then + touch /var/IS_VMWARE +fi + +# Check if host is running on VMware +if [ -f /var/log/dmesg.boot ]; then + if [ `cat /var/log/dmesg.boot | /usr/bin/grep VMware | /usr/bin/wc -l` -gt 0 ]; then + echo -n "VMware detected. The installer will make changes to tune this host." + touch /var/IS_VMWARE + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + # Check if host is running on pfSenseDEV + if [ `/sbin/sysctl -n kern.bootfile | /usr/bin/grep pfSense_Dev | /usr/bin/wc -l` -gt 0 ]; then + echo -n "${product} developer iso detected." + touch /var/pfSenseDEV + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + if [ -f /var/run/dmesg.boot ]; then + ln -s /var/log/dmesg.boot /var/run/dmesg.boot + fi +fi + +echo "One moment please..." +echo + +echo -n "LUA_CPATH='/usr/local/lib/lua/5.0/?.so' exec /usr/local/bin/lua50 -l/usr/local/share/lua/5.0/compat-5.1.lua " > /tmp/lua50c51 + +echo "/usr/local/share/dfuibe_lua/main.lua \ +/usr/local/share/dfuibe_lua/conf/BSDInstaller.lua \ +/usr/local/share/dfuibe_lua/conf/FreeBSD.lua \ +/usr/local/share/dfuibe_lua/conf/pfSense.lua " >> /tmp/lua50c51 + +#/sbin/conscontrol mute on >/dev/null 2>&1 + +sh /tmp/lua50c51 >/dev/null 2>&1 & + +sleep 1 + +echo Launching Installer NCurses frontend... +/usr/local/sbin/dfuife_curses + +#/sbin/conscontrol mute off >/dev/null 2>&1 + +if [ ! -f /tmp/install_complete ]; then + echo Installation did not finish correctly. + exit +fi + +clear + +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo "${product} is now rebooting" +echo +echo "After the reboot is complete, open a web browser and" +echo "enter https://192.168.1.1 (or the LAN IP Address) in the" +echo "location bar." +echo +echo "You might need to acknowledge the HTTPS certificate if " +echo "your browser reports it as untrusted. This is normal" +echo "as a self-signed certificate is used by default." +echo +echo "*DEFAULT Username*: ${factory_shipped_username}" +echo "*DEFAULT Password*: ${factory_shipped_password}" +echo + +echo Rebooting in 5 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 4 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 3 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 2 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 1 second.. CTRL-C to abort. +sleep 1 +echo +echo ${product} is now rebooting. +echo + +reboot + diff --git a/installer/scripts/lua_installer_RELENG_1_2 b/installer/scripts/lua_installer_RELENG_1_2 new file mode 100644 index 0000000..7d2f583 --- /dev/null +++ b/installer/scripts/lua_installer_RELENG_1_2 @@ -0,0 +1,151 @@ +#!/bin/sh +# +# Launch BSD Installer with fake "installer root" +# Copyright 2004-2009 Scott Ullrich +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +product=`cat /etc/inc/globals.inc | grep product_name | cut -d'"' -f4` +factory_shipped_password=`cat /etc/inc/globals.inc | grep factory_shipped_password | cut -d'"' -f4` +factory_shipped_username=`cat /etc/inc/globals.inc | grep factory_shipped_username | cut -d'"' -f4` + +echo +echo "Launching ${product} Installer..." +echo + +# Ensure install-session.sh exists where the installtion was recorded to +touch /tmp/install-session.sh + +/sbin/sysctl kern.geom.debugflags=16 +/sbin/sysctl net.link.ether.inet.log_arp_wrong_iface=0 >/dev/null + +/sbin/ifconfig lo0 127.0.0.1/24 +/sbin/ifconfig lo0 up + +# Check if host is running on VMware -- early boot +if [ `dmesg -a | grep VMware | wc -l` -gt 0 ]; then + touch /var/IS_VMWARE +fi + +# Check if host is running on VMware +if [ -f /var/log/dmesg.boot ]; then + if [ `cat /var/log/dmesg.boot | /usr/bin/grep VMware | /usr/bin/wc -l` -gt 0 ]; then + echo -n "VMware detected. The installer will make changes to tune this host." + touch /var/IS_VMWARE + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + # Check if host is running on pfSenseDEV + if [ `/sbin/sysctl -n kern.bootfile | /usr/bin/grep pfSense_Dev | /usr/bin/wc -l` -gt 0 ]; then + echo -n "${product} developer iso detected." + touch /var/pfSenseDEV + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + if [ -f /var/run/dmesg.boot ]; then + ln -s /var/log/dmesg.boot /var/run/dmesg.boot + fi +fi + +echo "One moment please..." +echo + +echo -n "LUA_CPATH='/usr/local/lib/lua/5.0/?.so' exec /usr/local/bin/lua50 -l/usr/local/share/lua/5.0/compat-5.1.lua " > /tmp/lua50c51 + +echo "/usr/local/share/dfuibe_lua/main.lua \ +/usr/local/share/dfuibe_lua/conf/BSDInstaller.lua \ +/usr/local/share/dfuibe_lua/conf/FreeBSD.lua \ +/usr/local/share/dfuibe_lua/conf/pfSense.lua " >> /tmp/lua50c51 + +#/sbin/conscontrol mute on >/dev/null 2>&1 + +sh /tmp/lua50c51 >/dev/null 2>&1 & + +sleep 1 + +echo Launching Installer NCurses frontend... +/usr/local/sbin/dfuife_curses + +#/sbin/conscontrol mute off >/dev/null 2>&1 + +if [ ! -f /tmp/install_complete ]; then + echo Installation did not finish correctly. + exit +fi + +clear + +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo "${product} is now rebooting" +echo +echo "After the reboot is complete, open a web browser and" +echo "enter http://192.168.1.1 (or the LAN IP Address) in the" +echo "location bar." +echo +echo "*DEFAULT Username*: ${factory_shipped_username}" +echo "*DEFAULT Password*: ${factory_shipped_password}" +echo + +echo Rebooting in 5 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 4 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 3 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 2 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 1 second.. CTRL-C to abort. +sleep 1 +echo +echo ${product} is now rebooting. +echo + +reboot + diff --git a/installer/scripts/lua_installer_full b/installer/scripts/lua_installer_full new file mode 100644 index 0000000..d307041 --- /dev/null +++ b/installer/scripts/lua_installer_full @@ -0,0 +1,145 @@ +#!/bin/sh +# +# Launch BSD Installer with fake "installer root" +# Copyright 2004-2009 Scott Ullrich +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +product=`cat /etc/inc/globals.inc | grep product_name | cut -d'"' -f4` +factory_shipped_password=`cat /etc/inc/globals.inc | grep factory_shipped_password | cut -d'"' -f4` +factory_shipped_username=`cat /etc/inc/globals.inc | grep factory_shipped_username | cut -d'"' -f4` + +echo +echo "Launching ${product} Installer..." +echo +echo "One moment please..." +echo + +# Ensure install-session.sh exists where the installtion was recorded to +touch /tmp/install-session.sh + +/sbin/sysctl kern.geom.debugflags=16 +/sbin/sysctl net.link.ether.inet.log_arp_wrong_iface=0 >/dev/null + +/sbin/ifconfig lo0 127.0.0.1/24 +/sbin/ifconfig lo0 up + +# Check if host is running on VMware +if [ -f /var/log/dmesg.boot ]; then + if [ `cat /var/log/dmesg.boot | /usr/bin/grep VMware | /usr/bin/wc -l` -gt 0 ]; then + echo -n "VMware detected. The installer will make changes to tune this host." + touch /var/IS_VMWARE + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + # Check if host is running on pfSenseDEV + if [ `/sbin/sysctl -n kern.bootfile | /usr/bin/grep pfSense_Dev | /usr/bin/wc -l` -gt 0 ]; then + echo -n "${product} developer iso detected." + touch /var/pfSenseDEV + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + if [ -f /var/run/dmesg.boot ]; then + ln -s /var/log/dmesg.boot /var/run/dmesg.boot + fi +fi + +echo Launching LUA Installer... +echo -n "LUA_CPATH='/usr/local/lib/lua/5.0/?.so' exec /usr/local/bin/lua50 -l/usr/local/share/lua/5.0/compat-5.1.lua " > /tmp/lua50c51 + +echo "/usr/local/share/dfuibe_lua/main.lua \ +/usr/local/share/dfuibe_lua/conf/BSDInstaller.lua \ +/usr/local/share/dfuibe_lua/conf/FreeBSD.lua" >> /tmp/lua50c51 + +#/sbin/conscontrol mute on >/dev/null 2>&1 + +sh /tmp/lua50c51 >/dev/null 2>&1 & + +sleep 1 + +echo Launching Installer NCurses frontend... +/usr/local/sbin/dfuife_curses + +#/sbin/conscontrol mute off >/dev/null 2>&1 + +if [ ! -f /tmp/install_complete ]; then + echo Installation did not finish correctly. + exit +fi + +clear + +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo "${product} is now rebooting" +echo +echo "After the reboot is complete, open a web browser and" +echo "enter http://192.168.1.1 (or the LAN IP Address) in the" +echo "location bar." +echo +echo "*DEFAULT Username*: ${factory_shipped_username}" +echo "*DEFAULT Password*: ${factory_shipped_password}" +echo + +echo Rebooting in 5 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 4 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 3 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 2 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 1 second.. CTRL-C to abort. +sleep 1 +echo +echo ${product} is now rebooting. +echo + +reboot + diff --git a/installer/scripts/lua_installer_rescue b/installer/scripts/lua_installer_rescue new file mode 100644 index 0000000..7bc7f7d --- /dev/null +++ b/installer/scripts/lua_installer_rescue @@ -0,0 +1,146 @@ +#!/bin/sh +# +# Launch BSD Installer with fake "installer root" +# Copyright 2004-2009 Scott Ullrich +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +product=`cat /etc/inc/globals.inc | grep product_name | cut -d'"' -f4` +factory_shipped_password=`cat /etc/inc/globals.inc | grep factory_shipped_password | cut -d'"' -f4` +factory_shipped_username=`cat /etc/inc/globals.inc | grep factory_shipped_username | cut -d'"' -f4` + +echo +echo "Launching ${product} Installer config.xml rescue..." +echo +echo "One moment please..." +echo + +# Ensure install-session.sh exists where the installtion was recorded to +touch /tmp/install-session.sh + +/sbin/sysctl kern.geom.debugflags=16 +/sbin/sysctl net.link.ether.inet.log_arp_wrong_iface=0 >/dev/null + +/sbin/ifconfig lo0 127.0.0.1/24 +/sbin/ifconfig lo0 up + +# Check if host is running on VMware +if [ -f /var/log/dmesg.boot ]; then + if [ `cat /var/log/dmesg.boot | /usr/bin/grep VMware | /usr/bin/wc -l` -gt 0 ]; then + echo -n "VMware detected. The installer will make changes to tune this host." + touch /var/IS_VMWARE + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + # Check if host is running on pfSenseDEV + if [ `/sbin/sysctl -n kern.bootfile | /usr/bin/grep pfSense_Dev | /usr/bin/wc -l` -gt 0 ]; then + echo -n "${product} developer iso detected." + touch /var/pfSenseDEV + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo -n "." + sleep 1 + echo "." + fi + + if [ -f /var/run/dmesg.boot ]; then + ln -s /var/log/dmesg.boot /var/run/dmesg.boot + fi +fi + +echo Launching LUA Installer... +echo -n "LUA_CPATH='/usr/local/lib/lua/5.0/?.so' exec /usr/local/bin/lua50 -l/usr/local/share/lua/5.0/compat-5.1.lua " > /tmp/lua50c51 + +echo "/usr/local/share/dfuibe_lua/main.lua \ +/usr/local/share/dfuibe_lua/conf/BSDInstaller.lua \ +/usr/local/share/dfuibe_lua/conf/FreeBSD.lua \ +/usr/local/share/dfuibe_lua/conf/pfSense_rescue.lua " >> /tmp/lua50c51 + +#/sbin/conscontrol mute on >/dev/null 2>&1 + +sh /tmp/lua50c51 >/dev/null 2>&1 & + +sleep 1 + +echo Launching Installer NCurses frontend... +/usr/local/sbin/dfuife_curses + +#/sbin/conscontrol mute off >/dev/null 2>&1 + +if [ ! -f /tmp/install_complete ]; then + echo Installation did not finish correctly. + exit +fi + +clear + +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo +echo "${product} is now rebooting" +echo +echo "After the reboot is complete, open a web browser and" +echo "enter http://192.168.1.1 (or the LAN IP Address) in the" +echo "location bar." +echo +echo "*DEFAULT Username*: ${factory_shipped_username}" +echo "*DEFAULT Password*: ${factory_shipped_password}" +echo + +echo Rebooting in 5 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 4 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 3 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 2 seconds. CTRL-C to abort. +sleep 1 +echo Rebooting in 1 second.. CTRL-C to abort. +sleep 1 +echo +echo ${product} is now rebooting. +echo + +reboot + diff --git a/installer/scripts/pfi b/installer/scripts/pfi new file mode 100755 index 0000000..c1ce0d7 --- /dev/null +++ b/installer/scripts/pfi @@ -0,0 +1,252 @@ +#!/bin/sh + +# $Id$ +# $DragonFly: src/nrelease/installer/etc/rc.d/pfi,v 1.2 2004/07/11 18:55:20 cpressey Exp $ +# + +# PROVIDE: pfi +# REQUIRE: mountoptional +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name=pfi +start_cmd="pfi_start" +stop_cmd=":" +thttpd_location="/scripts/thttpd" + +touch /etc/rc.conf + +get_config_xml() +{ + if [ -r $1/conf/config.xml ]; then + echo -n "[config.xml on $1]" + # Now that we have found config.xml lets mount + # the device in nullfs under /cf/conf and /conf + mount_nullfs /tmp/mnt/cf /cf + mount_nullfs /tmp/mnt/cf/conf /conf + if [ ! -r /cf/conf/config.xml ]; then + echo + echo "Something went wrong. Launching shell!"; + /bin/sh + fi + echo + return 0 + else + return 1 + fi +} + +look_for_config_xml_config_msdos() +{ + mkdir -p /tmp/mnt/cf + echo -n "Looking for config.xml on " + for try_device in da0 da0s1 da1 da1s1 da2 da2s1 da3 da3s1 da4 da4s1 da5 da5s1 fd0 fd1; do + if [ ! -e /dev/${try_device} ]; then + continue + fi + echo -n "$try_device " + if mount -t msdos /dev/$try_device /tmp/mnt/cf 2>/dev/null ; then + echo -n "[found msdos] " + # Note for later that this device is capable + # of having config.xml on it for perm. storage + /bin/mkdir -p /var/db/pfi/ + /usr/bin/touch /var/db/pfi/capable_${try_device} + # look for config.xml, if its found return 0 + if get_config_xml /tmp/mnt/cf /dev/$try_device; then + return 0 + fi + fi + done + echo "done." + return 1 +} + +get_pfi_config() +{ + [ -r /etc/pfi.conf ] && return 0 + + if [ -r $1/pfi.conf ]; then + echo -n "Found pfi.conf on $1" + tr -d "\r" < $1/pfi.conf > /etc/pfi.conf + echo "pfi_found_on_device='$2'" >> /etc/pfi.conf + echo "#@@@@@" >>/etc/rc.conf + cat /etc/pfi.conf >>/etc/rc.conf + if [ -r /etc/defaults/pfi.conf ]; then + . /etc/defaults/pfi.conf + fi + . /etc/pfi.conf + if [ "$pfi_script" != "" -a -x "$1/$pfi_script" ]; then + $1/$pfi_script + fi + return 0 + else + return 1 + fi +} + +get_authorized_hosts() +{ + [ -r /root/authorized_hosts ] && return 0 + if [ -r $1/authorized_hosts ]; then + echo "Authorized_hosts found on $1" + mkdir -p ~root/.ssh/ + tr -d "\r" < $1/authorized_hosts > /root/.ssh/authorized_hosts + fi +} + +look_for_pfi_config_msdos() +{ + [ -r /etc/pfi.conf ] && return 0 + echo -n "Looking for pfi.conf on " + for try_device in da0 da1 da0s1 da1s1 fd0 fd1; do + if [ ! -e /dev/${try_device} ]; then + continue + fi + echo -n "${try_device} " + if mount -t msdos -o rdonly /dev/$try_device /tmp/mnt 2>/dev/null ; then + echo -n "[found] " + get_authorized_hosts + if get_pfi_config /tmp/mnt /dev/$try_device; then + umount /tmp/mnt + echo -n "[found] " + return 0 + fi + umount /tmp/mnt + fi + done + echo "done. " + return 1 +} + +look_for_pfi_config_cd9660() +{ + [ -r /etc/pfi.conf ] && return 0 + echo -n "Looking for pfi.conf on " + for try_device in acd0c; do + echo -n "${try_device} " + if [ ! -e /dev/${try_device} ]; then + echo "done. " + return 1 + #( cd /dev && ./MAKEDEV ${try_device} ) + fi + if mount_cd9660 /dev/$try_device /tmp/mnt ; then + echo -n "[found] " + get_authorized_hosts + if get_pfi_config /tmp/mnt /dev/$try_device; then + umount /tmp/mnt + echo -n "[found]" + return 0 + fi + umount /tmp/mnt + fi + done + return 1 +} + +pfi_start() +{ + + # Get the pfi.conf file off the pfi media and into /etc/pfi.conf. + + look_for_pfi_config_cd9660 + look_for_pfi_config_msdos + look_for_config_xml_config_msdos # look for pfsense config.xml + + if [ ! -r /etc/pfi.conf ]; then + echo '' >/etc/pfi.conf + fi + + if [ -r /etc/defaults/pfi.conf ]; then + . /etc/defaults/pfi.conf + fi + . /etc/pfi.conf + + # We can perform any pre-install tasks here by + # examining the contents of pfi_* variables. + + # Interpret pfi_sshd_* options. These basically add settings + # to /etc/ssh/sshd_config; it is assumed "sshd" will appear + # in pfi_rc_actions to restart sshd. + + case ${pfi_sshd_permit_root_login} in + YES) + echo "PermitRootLogin yes" >> /etc/ssh/sshd_config + ;; + without-password) + echo "PermitRootLogin without-password" >> /etc/ssh/sshd_config + ;; + forced-commands-only) + echo "PermitRootLogin forced-commands-only" >> /etc/ssh/sshd_config + ;; + *) + ;; + esac + + case ${pfi_sshd_permit_empty_passwords} in + YES) + echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config + ;; + *) + ;; + esac + + # Interpret pfi_set_root_password. If it is not empty, use + # it to set root's LiveCD password. + + if [ "X$pfi_set_root_password" != "X" ]; then + echo "$pfi_set_root_password" | \ + /usr/sbin/pw usermod root -h 0 + fi + + # The most important pre-install task is to restart + # any RCNG scripts listed in pfi_rc_actions with any new + # settings that might have been set up by pfi.conf. + + if [ "X$pfi_rc_actions" != "X" ]; then + rev_actions=`reverse_list $pfi_rc_actions` + + for _rc_elem in ${rev_actions}; do + echo "Stopping ${_rc_elem}..." + /etc/rc.d/${_rc_elem} stop + #rcstop ${_rc_elem} + done + for _rc_elem in ${pfi_rc_actions}; do + echo "Starting ${_rc_elem}..." + /etc/rc.d/${_rc_elem} start + #rcstart ${_rc_elem} + done + fi + + # Now remove the copy of pfi.conf that we tacked onto + # the end of rc.conf so the above would work + + awk '$1=="#@@@@@" || cut { cut = 1 } !cut { print $0 }' \ + /etc/rc.conf.new + mv /etc/rc.conf.new /etc/rc.conf + + # Set up auto-login if requested. + + if [ "X$pfi_autologin" != "XNONE" ]; then + echo 'autologin|al.9600:\' >> /etc/gettytab + echo " :al=${pfi_autologin}:tc=std.9600:" >> /etc/gettytab + sed -i '' 's/^ttyv0=.*/ttyv0 "\/usr\/libexec\/getty Al" cons25 on secure/' /etc/ttys + fi + + # Finally, start thttpd if the user wants to use + # the cgi frontend. + + if [ "X$pfi_frontend" = "Xcgi" ]; then + echo "Starting thttpd..." + echo dir=/usr/local/www > /tmp/thttpd.conf + echo user=root >> /tmp/thttpd.conf + echo cgipat=*.cgi >> /tmp/thttpd.conf + echo logfile=/var/log/thttpd.log >> /tmp/thttpd.conf + echo pidfile=/var/run/thttpd.pid >> /tmp/thttpd.conf + $thttpd_location -C /tmp/thttpd.conf + fi +} + +load_rc_config $name +run_rc_command "$1" + diff --git a/modules/configure.sh b/modules/configure.sh new file mode 100644 index 0000000..800d036 --- /dev/null +++ b/modules/configure.sh @@ -0,0 +1,126 @@ +# run configure bits +run_configure(){ + + if [ ! -d ${BUILDER_LOGS} ]; then + mkdir -p ${BUILDER_LOGS} + fi + + launch + + if ! install_required_builder_system_ports ; then + echo " > Not all required ports where installed " + echo " > press +c to abort script or to continue" + read tmp + fi +} + +# Launch is ran first to setup a few variables that we need +# Imported from FreeSBIE +launch() { + + if [ ! -f /tmp/opnSense_builder_set_time ]; then + echo ">>> Updating system clock..." + ntpdate 0.pfsense.pool.ntp.org + touch /tmp/opnSense_builder_set_time + fi + + if [ "`id -u`" != "0" ]; then + echo "Sorry, this must be done as root." + kill $$ + fi + + echo ">>> Operation $0 has started at `date`" + + + export ARCH=${ARCH:-`uname -p`} + echo "--- Architecture : $ARCH" + + + # Some variables can be passed to make only as environment, not as parameters. + # usage: env $MAKE_CONF make $makeargs + MAKE_CONF=${MAKE_CONF:-} + + if [ ! -z ${MAKEOBJDIRPREFIX:-} ]; then + MAKE_CONF="$MAKE_CONF MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}" + fi + + # Set TARGET_ARCH_CONF_DIR + if [ "$TARGET_ARCH" = "" ]; then + export TARGET_ARCH=`uname -p` + fi + TARGET_ARCH_CONF_DIR=$SRCDIR/sys/${TARGET_ARCH}/conf/ + + + # always add these plugins to freesbie2 ( iso build ) + EXTRAPLUGINS="${EXTRAPLUGINS:-} rootmfs varmfs etcmfs" + + # define package commands + PKG_INFO="pkg info" + PKG_QUERY="pkg query %n" + +} + +# +# This routine ensures any ports / binaries that the builder +# system needs are on disk and ready for execution. +# +install_required_builder_system_ports() { + + local error_count + + error_count=0 + + # No ports exist, use portsnap to bootstrap. + if [ ! -d "/usr/ports/" ]; then + echo -n ">>> Grabbing FreeBSD port sources, please wait..." + (/usr/sbin/portsnap fetch) 2>&1 | egrep -B3 -A3 -wi '(error)' + (/usr/sbin/portsnap extract) 2>&1 | egrep -B3 -A3 -wi '(error)' + echo "Done!" + fi + + # update ports collection + echo -n ">>> Update ports collection..." + (/usr/sbin/portsnap fetch update ) 2>&1 | egrep -B3 -A3 -wi '(error)' + echo "done" + + if [ `pkg version | grep "pkg-" | grep "=" | wc -l` = "0" ]; then + echo -n ">>> Reinstall pkg (version mismatch)..." + # reinstall pkg on version mismatch + (cd /usr/ports/ports-mgmt/pkg && make BATCH=yes deinstall ) + (cd /usr/ports/ports-mgmt/pkg && make BATCH=yes install clean) + echo "done" + fi + + + OIFS=$IFS + IFS=" +" + + for PKG_STRING in `cat conf/env_ports/builder_required_ports | grep -v "^#"` + do + PKG_STRING_T=`echo $PKG_STRING | sed "s/[ ]+/ /g"` + CHECK_ON_DISK=`echo $PKG_STRING_T | awk '{ print $1 }'` + PORT_LOCATION=`echo $PKG_STRING_T | awk '{ print $2 }'` + UNSET_OPTS=`echo $PKG_STRING_T | awk '{ print $2 }' | sed 's/,/ /g'` + if [ ! -f "$CHECK_ON_DISK" ]; then + echo -n ">>> Building $PORT_LOCATION ..." + (cd $PORT_LOCATION && make BATCH=yes deinstall clean) 2>&1 | egrep -B3 -A3 -wi '(error)' + (cd $PORT_LOCATION && make ${MAKEJ_PORTS} WITHOUT="X11 DOCS EXAMPLES MAN INFO SDL ${UNSET_OPTS}" BATCH=yes FORCE_PKG_REGISTER=yes install clean) 2>&1 | egrep -B3 -A3 -wi '(error)' + echo "Done!" + if [ ! -f $CHECK_ON_DISK ]; then + error_count=`echo $error_count + 1|bc` + echo "! > Install failed ( $CHECK_ON_DISK not found )" + fi + fi + done + + if [ -f /usr/local/sbin/portmaster ]; then + (export FORCE_PKG_REGISTER=yes && /usr/local/sbin/portmaster -dBGm BATCH=1 --no-confirm --delete-packages -a ) + fi + + IFS=$OIFS + + return $error_count + +} + diff --git a/modules/error.sh b/modules/error.sh new file mode 100644 index 0000000..52f17d7 --- /dev/null +++ b/modules/error.sh @@ -0,0 +1,21 @@ +# +# print error +# +print_error_opns() { + echo + echo "####################################" + echo "Something went wrong, check errors!" + echo "####################################" + echo + echo + if [ "$1" != "" ]; then + echo $1 + fi + [ -n "${LOGFILE:-}" ] && \ + echo "Log saved on ${LOGFILE}" && \ + tail -n20 ${LOGFILE} >&2 + echo + echo "Press enter to continue." + read ans + kill $$ +} diff --git a/modules/fix_ports_install.sh b/modules/fix_ports_install.sh new file mode 100755 index 0000000..29fb47f --- /dev/null +++ b/modules/fix_ports_install.sh @@ -0,0 +1,8 @@ +# +# +# +fix_ports_install(){ + rsync -az /usr/ports/security/strongswan/work/stage/usr/local/bin/* /usr/local/bin/ +} + + diff --git a/modules/freebsd_source.sh b/modules/freebsd_source.sh new file mode 100644 index 0000000..70f8919 --- /dev/null +++ b/modules/freebsd_source.sh @@ -0,0 +1,123 @@ +# checkout / update freebsd source +run_freebsd_source(){ + # create directories + if [ ! -d "${SRCDIR}" ]; then + mkdir -p ${SRCDIR} + fi + + echo ">>> checkout freebsd source and apply patches" + checkout_freebsd_source + apply_patches +} + +# +# checkout freebsd sources +# +checkout_freebsd_source() { + local _SVN_BRANCH=${SVN_BRANCH:-"master"} + local _CLONE=1 + + echo ">>> Removing old patch rejects..." + find $SRCDIR -name "*.rej" -exec rm {} \; + echo ">>> Removing original files ..." + find $SRCDIR -name "*.orig" | sed 's/.orig//g' | xargs rm -f + find $SRCDIR -name "*.orig" | xargs rm -f + + if [ -d "${SRCDIR}/.git" ]; then + CUR_BRANCH=$(cd ${SRCDIR} && git branch | grep '^\*' | cut -d' ' -f2) + if [ "${CUR_BRANCH}" = "${_SVN_BRANCH}" ]; then + _CLONE=0 + ( cd ${SRCDIR} && git fetch origin; git reset --hard; git clean -fxd; git rebase origin/${_SVN_BRANCH} ) 2>&1 | grep -C3 -i 'error' + else + rm -rf ${SRCDIR}/* ${SRCDIR}/.git + fi + fi + if [ ${_CLONE} -eq 1 ]; then + ( git clone --branch ${_SVN_BRANCH} --single-branch ${FREEBSD_REPO_BASE} ${SRCDIR} ) 2>&1 | grep -C3 -i 'error' + fi +} + +# +# Apply opnSense patches +# +apply_patches(){ +# TODO : remove? +# echo ">>> Fix freebsd source includes..." +# fixup_freebsd_sources + + echo -n ">>> Applying patches from $OSPATCHFILE please wait..." + # Loop through and patch files + for LINE in `cat ${OSPATCHFILE} | grep -v "^#"` + do + PATCH_DEPTH=`echo $LINE | cut -d~ -f1` + PATCH_DIRECTORY=`echo $LINE | cut -d~ -f2` + PATCH_FILE=`echo $LINE | cut -d~ -f3` + PATCH_FILE_LEN=`echo $PATCH_FILE | wc -c` + MOVE_FILE=`echo $LINE | cut -d~ -f4` + MOVE_FILE_LEN=`echo $MOVE_FILE | wc -c` + IS_TGZ=`echo $LINE | grep -v grep | grep .tgz | wc -l` + if [ ${PATH_FILE} == ""]; then + + elif [ ! -f "${OSPATCHDIR}/${PATCH_FILE}" ]; then + echo + echo "ERROR! Patch file(${PATCH_FILE}) not found! Please fix before building!" + echo + print_error_opns + kill $$ + fi + + if [ $PATCH_FILE_LEN -gt "2" ]; then + if [ $IS_TGZ -gt "0" ]; then + (cd ${SRCDIR}/${PATCH_DIRECTORY} && tar xzvpf ${OSPATCHDIR}/${PATCH_FILE}) 2>&1 \ + | egrep -wi '(warning|error)' + else + (cd ${SRCDIR}/${PATCH_DIRECTORY} && patch --quiet -f ${PATCH_DEPTH} < ${OSPATCHDIR}/${PATCH_FILE} 2>&1 ); + if [ "$?" != "0" ]; then + echo "failed to apply ${PATCH_FILE}"; + fi + fi + fi + if [ $MOVE_FILE_LEN -gt "2" ]; then + #cp ${SRCDIR}/${MOVE_FILE} ${SRCDIR}/${PATCH_DIRECTORY} + fi + done + echo "Done!" + + echo ">>> Finding patch rejects..." + REJECTED_PATCHES=`find $SRCDIR -name "*.rej" | wc -l` + if [ $REJECTED_PATCHES -gt 0 ]; then + echo + echo "WARNING! Rejected patches found! Please fix before building!" + echo + find $SRCDIR -name "*.rej" + echo + if [ "$FREESBIE_ERROR_MAIL" != "" ]; then + LOGFILE="/tmp/patches.failed.apply" + find $SRCDIR -name "*.rej" > $LOGFILE + print_error_opns + + fi + print_error_opns + kill $$ + fi + + +} + +# +# copy some headers to prevent build issues +# ( for example, multiple versions of the same lib in searchpath) +# +fixup_freebsd_sources(){ + cp $SRCDIR/lib/libnetbsd/sys/cdefs.h $SRCDIR/contrib/mtree/ + cp $SRCDIR/contrib/libarchive/libarchive_fe/err.h $SRCDIR/contrib/libarchive/cpio/ + cp $SRCDIR/contrib/libarchive/libarchive_fe/err.h $SRCDIR/contrib/libarchive/tar/ + cp $SRCDIR/contrib/nvi/common/multibyte.h $SRCDIR/contrib/nvi/regex/ + cp $SRCDIR/contrib/wpa/src/utils/uuid.h $SRCDIR/contrib/wpa/wpa_supplicant/ + cp $SRCDIR/contrib/wpa/src/utils/uuid.h $SRCDIR/contrib/wpa/src/wps/ + cp $SRCDIR/lib/libnetbsd/sys/cdefs.h $SRCDIR/contrib/mtree/ + cp $SRCDIR/gnu/lib/libregex/regex.h $SRCDIR/gnu/usr.bin/grep/regex.h + cp $SRCDIR/gnu/lib/libregex/regex.h $SRCDIR/contrib/diff/src/ + cp $SRCDIR/usr.bin/ar/ar.h $SRCDIR/usr.bin/ar/ar_cpy.h +} + diff --git a/modules/freesbie_build.sh b/modules/freesbie_build.sh new file mode 100644 index 0000000..1e2fb2c --- /dev/null +++ b/modules/freesbie_build.sh @@ -0,0 +1,564 @@ +run_freesbie_build(){ + # cleanup previous installed files + freesbie_clean_each_run + + # Prepare object directory + echo ">>> Preparing object directory..." + freesbie_make obj + + echo ">>> Building world for freebsd $FREEBSD_VERSION $SVN_BRANCH ..." + make_world + + # Ensure home target directory exists + mkdir -p $OPNSENSEBASEDIR/home + + echo ">>> Building kernel configs: $BUILD_KERNELS for FreeBSD: $SVN_BRANCH ..." + build_all_kernels + + # check for errors + check_freesbie2_errors + + # overlay host libraries + echo ">>> overlay host libraries and executables " + cust_overlay_host_binaries + + echo ">>> Searching for packages..." + set +e # grep could fail + export PKGFILE=/tmp/opnspackages + rm -f $PKGFILE + (${PKG_INFO} | grep bsdinstaller) > $PKGFILE + (${PKG_INFO} | grep lua) >> $PKGFILE + set -e + + freesbie_make pkgnginstall + + # Overlay staging area + echo ">>> Merging $CUSTOMROOT ( + extra's )" + freesbie_make extra + + # create md5 hashes for installed files + create_md5_summary_file + + # See if php configuration script is available + if [ -f $OPNSENSEBASEDIR/etc/rc.php_ini_setup ]; then + echo ">>> chroot'ing and running /etc/rc.php_ini_setup" + chroot $OPNSENSEBASEDIR /etc/rc.php_ini_setup + fi + + + # Create mtree summary file listing owner/permissions/sha256 and similar + create_mtree_summary_file + + # Setup custom tcshrc prompt + setup_tcshrc_prompt +} + +# +# build iso image +# +freesbie_build_iso(){ + # Prepare clonefs + echo ">>> Cloning filesystem..." + freesbie_make clonefs + mkdir -p $CLONEDIR/home $CLONEDIR/etc + + echo ">>> Finalizing iso..." + freesbie_make iso +} + +# Imported from FreeSBIE +buildkernel() { + if [ -n "${KERNELCONF:-}" ]; then + export KERNCONFDIR=$(dirname ${KERNELCONF}) + export KERNCONF=$(basename ${KERNELCONF}) + elif [ -z "${KERNCONF:-}" ]; then + export KERNCONFDIR=${LOCALDIR}/conf/${ARCH} + export KERNCONF="FREESBIE" + fi + SRCCONFBASENAME=`basename ${SRC_CONF}` + echo ">>> KERNCONFDIR: ${KERNCONFDIR}" + echo ">>> ARCH: ${ARCH}" + echo ">>> SRC_CONF: ${SRCCONFBASENAME}" + + LOGFILE="${BUILDER_LOGS}/kernel.${KERNCONF}.log" + makeargs="${MAKEOPT:-} ${MAKEJ_KERNEL:-} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH}" + echo ">>> Builder is running the command: env $MAKE_CONF script -aq $LOGFILE make $makeargs buildkernel KERNCONF=${KERNCONF} NO_KERNELCLEAN=yo" > /tmp/freesbie_buildkernel_cmd.txt + cd $SRCDIR + (env $MAKE_CONF script -q $LOGFILE make $makeargs buildkernel KERNCONF=${KERNCONF} NO_KERNELCLEAN=yo || print_error_opns;) | egrep '^>>>' + cd $BUILD_HOME + +} + +# Imported from FreeSBIE +installkernel() { + # Set SRC_CONF variable if it's not already set. + if [ -n "${KERNELCONF:-}" ]; then + export KERNCONFDIR=$(dirname ${KERNELCONF}) + export KERNCONF=$(basename ${KERNELCONF}) + elif [ -z "${KERNCONF:-}" ]; then + export KERNCONFDIR=${LOCALDIR}/conf/${ARCH} + export KERNCONF="FREESBIE" + fi + mkdir -p ${BASEDIR}/boot + LOGFILE="${BUILDER_LOGS}/install.kernel.${KERNCONF}.log" + makeargs="${MAKEOPT:-} ${MAKEJ_KERNEL:-} SRCCONF=${SRC_CONF} TARGET_ARCH=${ARCH} DESTDIR=${KERNEL_DESTDIR}" + echo ">>> Builder is running the command: env $MAKE_CONF script -aq $LOGFILE make ${makeargs:-} installkernel ${DTRACE}" > /tmp/freesbie_installkernel_cmd.txt + cd ${SRCDIR} + (env $MAKE_CONF script -aq $LOGFILE make ${makeargs:-} installkernel KERNCONF=${KERNCONF} || print_error_ops;) | egrep '^>>>' + echo ">>> Executing cd $KERNEL_DESTDIR/boot/kernel" + gzip -f9 $KERNEL_DESTDIR/boot/kernel/kernel + cd $BUILD_HOME +} + + +# +# Shortcut to FreeSBIE make command +# +freesbie_make() { + # Make sure MAKEOBJDIRPREFIX is not set, otherwise OBJDIR will be wrong + # and it will always rebuild everything. + (cd ${FREESBIE_PATH} && env -u MAKEOBJDIRPREFIX CUSTOM_MAKEOBJDIRPREFIX="${MAKEOBJDIRPREFIX}" MAKEOBJDIR="${BUILDER_LOGS}/freesbie2" make $*) +} + + + +# Mildly based on FreeSBIE +freesbie_clean_each_run() { + echo -n ">>> Cleaning build directories: " + if [ -d $OPNSENSEBASEDIR/tmp/ ]; then + find $OPNSENSEBASEDIR/tmp/ -name "mountpoint*" -exec umount -f {} \; + fi + if [ -d "${OPNSENSEBASEDIR}" ]; then + BASENAME=`basename ${OPNSENSEBASEDIR}` + echo -n "$BASENAME " + chflags -R noschg ${OPNSENSEBASEDIR} + rm -rf ${OPNSENSEBASEDIR} 2>/dev/null + fi + if [ -d "${CLONEDIR}" ]; then + BASENAME=`basename ${CLONEDIR}` + echo -n "$BASENAME " + chflags -R noschg ${CLONEDIR} + rm -rf ${CLONEDIR} 2>/dev/null + fi + echo "Done!" +} + + +check_freesbie2_errors(){ + # Check for freesbie builder issues + if [ -f ${BUILDER_LOGS}/freesbie2/.tmp_kernelbuild ]; then + echo "Something has gone wrong! Press ENTER to view log file." + read ans + more ${BUILDER_LOGS}/freesbie2/.tmp_kernelbuild + exit + fi +} + + +# overlay host binaries +cust_overlay_host_binaries() { + + # Ensure directories exist + # BEGIN required by gather_pfPorts_binaries_in_tgz + mkdir -p ${OPNSENSEBASEDIR}/lib/geom + mkdir -p ${OPNSENSEBASEDIR}/usr/local/share/rrdtool/fonts/ + mkdir -p ${OPNSENSEBASEDIR}/usr/local/share/smartmontools/ + mkdir -p ${OPNSENSEBASEDIR}/usr/local/lib/lighttpd/ + mkdir -p ${OPNSENSEBASEDIR}/usr/share/man/man8 + mkdir -p ${OPNSENSEBASEDIR}/usr/share/man/man5 + # END required by gather_pfPorts_binaries_in_tgz + mkdir -p ${OPNSENSEBASEDIR}/bin + mkdir -p ${OPNSENSEBASEDIR}/sbin + mkdir -p ${OPNSENSEBASEDIR}/usr/bin + mkdir -p ${OPNSENSEBASEDIR}/usr/sbin + mkdir -p ${OPNSENSEBASEDIR}/usr/lib + mkdir -p ${OPNSENSEBASEDIR}/usr/sbin + mkdir -p ${OPNSENSEBASEDIR}/usr/libexec + mkdir -p ${OPNSENSEBASEDIR}/usr/local/bin + mkdir -p ${OPNSENSEBASEDIR}/usr/local/sbin + mkdir -p ${OPNSENSEBASEDIR}/usr/local/lib + mkdir -p ${OPNSENSEBASEDIR}/usr/local/lib/mysql + mkdir -p ${OPNSENSEBASEDIR}/usr/local/libexec + + + FOUND_FILES=`cat ${BUILD_HOME}/conf/copylist/copy.list| grep -v "^#"` + + + # Process base system libraries + NEEDEDLIBS="" + echo ">>> Populating newer binaries found on host jail/os (usr/local)..." + for TEMPFILE in $FOUND_FILES; do + if [ -f /${TEMPFILE} ]; then + FILETYPE=`file /$TEMPFILE | egrep "(dynamically|shared)" | wc -l | awk '{ print $1 }'` + mkdir -p `dirname ${OPNSENSEBASEDIR}/${TEMPFILE}` + if [ "$FILETYPE" -gt 0 ]; then + NEEDLIB=`ldd /${TEMPFILE} | grep "=>" | awk '{ print $3 }'` + NEEDEDLIBS="$NEEDEDLIBS $NEEDLIB" + if [ ! -f ${OPNSENSEBASEDIR}/${TEMPFILE} ] || [ /${TEMPFILE} -nt ${OPNSENSEBASEDIR}/${TEMPFILE} ]; then + cp /${TEMPFILE} ${OPNSENSEBASEDIR}/${TEMPFILE} + chmod a+rx ${OPNSENSEBASEDIR}/${TEMPFILE} + fi + for NEEDL in $NEEDLIB; do + if [ -f $NEEDL ]; then + if [ ! -f ${OPNSENSEBASEDIR}${NEEDL} ] || [ $NEEDL -nt ${OPNSENSEBASEDIR}${NEEDL} ]; then + if [ ! -d "$(dirname ${OPNSENSEBASEDIR}${NEEDL})" ]; then + mkdir -p $(dirname ${OPNSENSEBASEDIR}${NEEDL}) + fi + cp $NEEDL ${OPNSENSEBASEDIR}${NEEDL} + fi + if [ -d "${CLONEDIR}" ]; then + if [ ! -f ${CLONEDIR}${NEEDL} ] || [ $NEEDL -nt ${CLONEDIR}${NEEDL} ]; then + if [ ! -d "$(dirname ${CLONEDIR}${NEEDL})" ]; then + mkdir -p $(dirname ${CLONEDIR}${NEEDL}) + fi + cp $NEEDL ${CLONEDIR}${NEEDL} + fi + fi + fi + done + else + cp /${TEMPFILE} ${OPNSENSEBASEDIR}/$TEMPFILE + fi + elif [ -d /${TEMPFILE} ]; then + # copy full directory to image + cp -p -r /${TEMPFILE} ${OPNSENSEBASEDIR}/$TEMPFILE + else + if [ -f ${CUSTOMROOT}/${TEMPFILE} ]; then + FILETYPE=`file ${CUSTOMROOT}/${TEMPFILE} | grep dynamically | wc -l | awk '{ print $1 }'` + if [ "$FILETYPE" -gt 0 ]; then + NEEDEDLIBS="$NEEDEDLIBS `ldd ${CUSTOMROOT}/${TEMPFILE} | grep "=>" | awk '{ print $3 }'`" + fi + else + echo "Could not locate $TEMPFILE" >> ${BUILDER_LOGS}/copy.list.log + fi + fi + done + #export DONTSTRIP=1 + echo ">>> Installing collected library information, please wait..." + # Unique the libraries so we only copy them once + NEEDEDLIBS=`for LIB in ${NEEDEDLIBS} ; do echo $LIB ; done |sort -u` + for NEEDLIB in $NEEDEDLIBS; do + if [ -f $NEEDLIB ]; then + if [ ! -f ${OPNSENSEBASEDIR}${NEEDLIB} ] || [ ${NEEDLIB} -nt ${OPNSENSEBASEDIR}${NEEDLIB} ]; then + install ${NEEDLIB} ${OPNSENSEBASEDIR}${NEEDLIB} + fi + if [ -d "${CLONEDIR}" ]; then + if [ ! -f ${CLONEDIR}${NEEDLIB} ] || [ ${NEEDLIB} -nt ${CLONEDIR}${NEEDLIB} ]; then + install ${NEEDLIB} ${CLONEDIR}${NEEDLIB} 2>/dev/null + fi + fi + fi + done + #unset DONTSTRIP + + if [ "X${PRUNE_LIST}" != "X" ]; then + echo ">>> Deleting files listed in ${PRUNE_LIST}" + (cd ${OPNSENSEBASEDIR} && sed 's/^#.*//g' ${PRUNE_LIST} | xargs rm -rvf > /dev/null 2>&1) + fi + +} + + +# This routine creates an mtree file that can be used to check +# and correct file permissions post-install, to correct for the +# fact that the ISO image doesn't support some permissions. +create_mtree_summary_file() { + echo -n ">>> Creating mtree summary of files present..." + rm -f $OPNSENSEBASEDIR/etc/installed_filesystem.mtree + echo "#!/bin/sh" > $OPNSENSEBASEDIR/chroot.sh + echo "cd /" >> $OPNSENSEBASEDIR/chroot.sh + echo "/tmp" >> $OPNSENSEBASEDIR/tmp/installed_filesystem.mtree.exclude + echo "/dev" >> $OPNSENSEBASEDIR/tmp/installed_filesystem.mtree.exclude + echo "/usr/sbin/mtree -c -k uid,gid,mode,size,sha256digest -p / -X /tmp/installed_filesystem.mtree.exclude > /tmp/installed_filesystem.mtree" >> $OPNSENSEBASEDIR/chroot.sh + echo "/bin/chmod 600 /tmp/installed_filesystem.mtree" >> $OPNSENSEBASEDIR/chroot.sh + echo "/bin/mv /tmp/installed_filesystem.mtree /etc/" >> $OPNSENSEBASEDIR/chroot.sh + + chmod a+rx $OPNSENSEBASEDIR/chroot.sh + (chroot $OPNSENSEBASEDIR /chroot.sh) + rm $OPNSENSEBASEDIR/chroot.sh + echo "Done." +} + +setup_tcshrc_prompt() { + # If .tcshrc already exists, don't overwrite it. + if [ ! -f ${OPNSENSEBASEDIR}/root/.tcshrc ]; then + if [ ! -n ${SKIP_TCSH_PROMPT} ]; then + echo 'set prompt="%{\033[0;1;33m%}[%{\033[0;1;37m%}`cat /etc/version`%{\033[0;1;33m%}]%{\033[0;1;33m%}%B[%{\033[0;1;37m%}%n%{\033[0;1;31m%}@%{\033[0;1;37m%}%M%{\033[0;1;33m%}]%{\033[0;1;32m%}%b%/%{\033[0;1;33m%}(%{\033[0;1;37m%}%h%{\033[0;1;33m%})%{\033[0;1;36m%}%{\033[0;1;31m%}:%{\033[0;40;37m%} "' >> ${OPNSENSEBASEDIR}/root/.tcshrc + fi + echo 'set autologout="0"' >> ${OPNSENSEBASEDIR}/root/.tcshrc + echo 'set autolist set color set colorcat' >> ${OPNSENSEBASEDIR}/root/.tcshrc + echo 'setenv CLICOLOR "true"' >> ${OPNSENSEBASEDIR}/root/.tcshrc + echo 'setenv LSCOLORS "exfxcxdxbxegedabagacad"' >> ${OPNSENSEBASEDIR}/root/.tcshrc + echo "alias installer /scripts/lua_installer" >> ${OPNSENSEBASEDIR}/root/.tcshrc + fi +} + + +# This builds FreeBSD (make buildworld) +make_world() { + + if [ -d ${BUILDER_LOGS}/freesbie2 ]; then + find ${BUILDER_LOGS}/freesbie2/ -name .done_installworld -exec rm {} \; + find ${BUILDER_LOGS}/freesbie2/ -name .done_buildworld -exec rm {} \; + find ${BUILDER_LOGS}/freesbie2/ -name .done_extra -exec rm {} \; + find ${BUILDER_LOGS}/freesbie2/ -name .done_objdir -exec rm {} \; + + # Check if the world and kernel are already built and set + # the NO variables accordingly + if [ -d "${MAKEOBJDIRPREFIX}" ]; then + ISINSTALLED=`find ${MAKEOBJDIRPREFIX}/ -name init | wc -l` + if [ "$ISINSTALLED" -gt 0 ]; then + export MAKE_CONF="${MAKE_CONF} NO_CLEAN=yes NO_KERNELCLEAN=yes" + fi + fi + fi + + HOST_ARCHITECTURE=`uname -m` + if [ "${HOST_ARCHITECTURE}" = "${ARCH}" ]; then + export MAKE_CONF="${MAKE_CONF} WITHOUT_CROSS_COMPILER=yes" + fi + + # Invoke FreeSBIE's buildworld + freesbie_make buildworld + + # EDGE CASE #1 btxldr ############################################ + # Sometimes inbetween build_iso runs btxld seems to go missing. + # ensure that this binary is always built and ready. + echo ">>> Ensuring that the btxld problem does not happen on subsequent runs..." + FBSD_VERSION=`/usr/bin/uname -r | /usr/bin/cut -d"." -f1` + (cd $SRCDIR/usr.sbin/btxld && env ARCH=$ARCH TARGET_ARCH=${ARCH} MAKEOBJDIRPREFIX=$MAKEOBJDIRPREFIX SRCCONF=${SRC_CONF} make $MAKEJ_WORLD ${MAKE_CONF}) 2>&1 \ + | egrep -wi '(warning|error)' + (cd $SRCDIR/sys/boot/$ARCH/btx/btx && env ARCH=$ARCH TARGET_ARCH=${ARCH} \ + MAKEOBJDIRPREFIX=$MAKEOBJDIRPREFIX SRCCONF=${SRC_CONF} make $MAKEJ_WORLD ${MAKE_CONF}) 2>&1 \ + | egrep -wi '(warning|error)' + if [ "$ARCH" = "i386" ]; then + (cd $SRCDIR/sys/boot/i386/pxeldr && env ARCH=$ARCH TARGET_ARCH=${ARCH} \ + MAKEOBJDIRPREFIX=$MAKEOBJDIRPREFIX SRCCONF=${SRC_CONF} make $MAKEJ_WORLD ${MAKE_CONF}) 2>&1 \ + | egrep -wi '(warning|error)' + fi + + OSRC_CONF=${SRC_CONF} + if [ -n "${SRC_CONF_INSTALL:-}" ]; then + export SRC_CONF=$SRC_CONF_INSTALL + fi + + # Invoke FreeSBIE's installworld + freesbie_make installworld + + SRC_CONF=${OSRC_CONF} + +} + +# This routine will verify that the kernel has been +# installed OK to the staging area. +ensure_kernel_exists() { + if [ ! -f "$1/boot/kernel/kernel.gz" ]; then + echo "Could not locate $1/boot/kernel.gz" + print_error_opns + kill $$ + fi + KERNEL_SIZE=`ls -la $1/boot/kernel/kernel.gz | awk '{ print $5 }'` + if [ "$KERNEL_SIZE" -lt 3500 ]; then + echo "Kernel $1/boot/kernel.gz appears to be smaller than it should be: $KERNEL_SIZE" + print_error_opns + kill $$ + fi +} + + + +# +# +# +fixup_kernel_options() { + + # Do not remove or move support to freesbie2/scripts/installkernel.sh + + # Cleanup self + if [ -d ${MAKEOBJDIRPREFIX} ]; then + find $MAKEOBJDIRPREFIX -name .done_buildkernel -exec rm {} \; + find $MAKEOBJDIRPREFIX -name .done_installkernel -exec rm {} \; + fi + + if [ -d "$KERNEL_DESTDIR/boot" ]; then + rm -rf $KERNEL_DESTDIR/boot/* + fi + + # Create area where kernels will be copied on LiveCD + mkdir -p $OPNSENSEBASEDIR/kernels/ + # Make sure directories exist + mkdir -p $KERNEL_DESTDIR/boot/kernel + mkdir -p $KERNEL_DESTDIR/boot/defaults + + + + # Copy opnSense kernel configuration files over to $SRCDIR/sys/$ARCH/conf + cp $BUILD_HOME/conf/kernel/$KERNCONF $KERNELCONF + if [ ! -f "$KERNELCONF" ]; then + echo ">>> Could not find $KERNELCONF" + print_error_opns + fi + echo "" >> $KERNELCONF + + + if [ "$WITH_DTRACE" = "" ]; then + echo ">>> Not adding D-Trace to Kernel..." + else + echo "options KDTRACE_HOOKS" >> $KERNELCONF + echo "options DDB_CTF" >> $KERNELCONF + fi + + if [ "$TARGET_ARCH" = "" ]; then + TARGET_ARCH=$ARCH + fi + + # Add SMP and APIC options for i386 platform + if [ "$ARCH" = "i386" ]; then + echo "device apic" >> $KERNELCONF + echo "options SMP" >> $KERNELCONF + fi + + # Add ALTQ_NOPCC which is needed for ALTQ + echo "options ALTQ_NOPCC" >> $KERNELCONF + + # Add SMP + if [ "$ARCH" = "amd64" ]; then + echo "options SMP" >> $KERNELCONF + fi + if [ "$ARCH" = "powerpc" ]; then + echo "options SMP" >> $KERNELCONF + fi + + # If We're on 8.3 or 10.0 and the kernel has ath support in it, make sure we have ath_pci if it's not already present. + if [ "${FREEBSD_BRANCH}" = "RELENG_8_3" -o "${FREEBSD_BRANCH}" = "RELENG_10_0" ] && [ `/usr/bin/grep -c ath ${KERNELCONF}` -gt 0 ] && [ `/usr/bin/grep -c ath_pci ${KERNELCONF}` = 0 ]; then + echo "device ath_pci" >> ${KERNELCONF} + fi + if [ "${FREEBSD_BRANCH}" = "RELENG_8_3" -o "${FREEBSD_BRANCH}" = "RELENG_10_0" ]; then + echo "options ALTQ_CODEL" >> ${KERNELCONF} + fi + + if [ "$EXTRA_DEVICES" != "" ]; then + echo "devices $EXTRA_DEVICES" >> $KERNELCONF + fi + if [ "$NOEXTRA_DEVICES" != "" ]; then + echo "nodevices $NOEXTRA_DEVICES" >> $KERNELCONF + fi + if [ "$EXTRA_OPTIONS" != "" ]; then + echo "options $EXTRA_OPTIONS" >> $KERNELCONF + fi + if [ "$NOEXTRA_OPTIONS" != "" ]; then + echo "nooptions $NOEXTRA_OPTIONS" >> $KERNELCONF + fi + + # NOTE! If you remove this, you WILL break booting! These file(s) are read + # by FORTH and for some reason installkernel with DESTDIR does not + # copy this file over and you will end up with a blank file? + cp $SRCDIR/sys/boot/forth/loader.conf $KERNEL_DESTDIR/boot/defaults + if [ -f $SRCDIR/sys/$ARCH/conf/GENERIC.hints ]; then + cp $SRCDIR/sys/$ARCH/conf/GENERIC.hints $KERNEL_DESTDIR/boot/device.hints + fi + if [ -f $SRCDIR/sys/$ARCH/conf/$KERNCONF.hints ]; then + cp $SRCDIR/sys/$ARCH/conf/$KERNCONF.hints $KERNEL_DESTDIR/boot/device.hints + fi + # END NOTE. + + # Danger will robinson -- 7.2+ will NOT boot if these files are not present. + # the loader will stop at | + touch $KERNEL_DESTDIR/boot/loader.conf + +} + + +# This routine builds all pfSense related kernels +build_all_kernels() { + + # Build embedded kernel + for BUILD_KERNEL in $BUILD_KERNELS; do + echo ">>> Building $BUILD_KERNEL kernel..." + unset KERNCONF + unset KERNEL_DESTDIR + unset KERNELCONF + unset KERNEL_NAME + export KERNCONF=$BUILD_KERNEL + export KERNEL_DESTDIR="$KERNEL_BUILD_PATH/$BUILD_KERNEL" + export KERNELCONF="${TARGET_ARCH_CONF_DIR}/$BUILD_KERNEL" + + # Common fixup code + fixup_kernel_options + export SRC_CONF=${SRC_CONF} + + + buildkernel + + OSRC_CONF=${SRC_CONF} + if [ -n "${SRC_CONF_INSTALL:-}" ]; then + export SRC_CONF=$SRC_CONF_INSTALL + fi + + echo ">>> Installing $BUILD_KERNEL kernel..." + installkernel + + SRC_CONF=${OSRC_CONF} + + ensure_kernel_exists $KERNEL_DESTDIR + + # Nuke symbols + echo -n ">>> Cleaning up .symbols... " + if [ -z "${OPNSENSE_DEBUG:-}" ]; then + echo -n "." + find $OPNSENSEBASEDIR/ -name "*.symbols" -exec rm -f {} \; + echo -n "." + find $KERNEL_BUILD_PATH -name "*.symbols" -exec rm -f {} \; + fi + + # Nuke old kernel if it exists + find $KERNEL_BUILD_PATH -name kernel.old -exec rm -rf {} \; 2>/dev/null + echo "done." + + # Use kernel INSTALL_NAME if it exists + KERNEL_INSTALL_NAME=`/usr/bin/sed -e '/INSTALL_NAME/!d; s/^.*INSTALL_NAME[[:blank:]]*//' \ + ${KERNELCONF} | /usr/bin/head -n 1` + + if [ -z "${KERNEL_INSTALL_NAME}" ]; then + export KERNEL_NAME=`echo ${BUILD_KERNEL} | sed -e 's/pfSense_//; s/\.[0-9].*$//'` + else + export KERNEL_NAME=${KERNEL_INSTALL_NAME} + fi + + echo -n ">>> Installing kernel to staging area... ( $KERNEL_BUILD_PATH/$BUILD_KERNEL/boot/ -> $OPNSENSEBASEDIR/kernels/kernel_${KERNEL_NAME}.gz ) " + (cd $KERNEL_BUILD_PATH/$BUILD_KERNEL/boot/ && tar czf $OPNSENSEBASEDIR/kernels/kernel_${KERNEL_NAME}.gz .) + echo -n "." + + echo ".done" + + if [ "${BUILD_KERNEL}" = "${DEFAULT_KERNEL}" ]; then + # If something is missing complain + if [ ! -f $OPNSENSEBASEDIR/kernels/kernel_${KERNEL_NAME}.gz ]; then + echo "The kernel archive($OPNSENSEBASEDIR/kernels/kernel_${KERNEL_NAME}.gz) to install as default does not exist" + print_error_opns + fi + + echo ">>> copy default kernel kernel_${KERNEL_NAME}.gz to $OPNSENSEBASEDIR/boot/" + (cd $OPNSENSEBASEDIR/boot/ && tar xzf $OPNSENSEBASEDIR/kernels/kernel_${KERNEL_NAME}.gz -C $OPNSENSEBASEDIR/boot/) + + chflags -R noschg $OPNSENSEBASEDIR/boot/ + fi + done +} + + +# This routine creates a on disk summary of all file +# checksums which could be used to verify that a file +# is indeed how it was shipped. +create_md5_summary_file() { + echo -n ">>> Creating md5 summary of files present..." + rm -f $OPNSENSEBASEDIR/etc/pfSense_md5.txt + echo "#!/bin/sh" > $OPNSENSEBASEDIR/chroot.sh + echo "find / -type f -print0 | /usr/bin/xargs -0 /sbin/md5 >> /etc/opnSense_md5.txt" >> $OPNSENSEBASEDIR/chroot.sh + chmod a+rx $OPNSENSEBASEDIR/chroot.sh + (chroot $OPNSENSEBASEDIR /chroot.sh) + rm $OPNSENSEBASEDIR/chroot.sh + echo "Done." +} + + diff --git a/modules/installer.sh b/modules/installer.sh new file mode 100644 index 0000000..88033e6 --- /dev/null +++ b/modules/installer.sh @@ -0,0 +1,64 @@ +setup_installer(){ + cust_populate_installer_bits +} + +# Install custom BSDInstaller bits for opnSense +cust_populate_installer_bits() { + # Add lua installer items + echo ">>> Using FreeBSD ${FREEBSD_VERSION} BSDInstaller dfuibelua structure (in $OPNSENSEBASEDIR )." + + mkdir -p $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/install/ + mkdir -p $OPNSENSEBASEDIR/scripts/ + # This is now ready for general consumption! \o/ + mkdir -p $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/conf/ + cp -r $BUILD_HOME/installer/conf \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/ + # Rebrand installer! + if [ "${PRODUCT_NAME}" != "" ]; then + sed -i "" -e "s/name = \"pfSense\"/name = \"${PRODUCT_NAME}\"/" $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/conf/pfSense.lua + fi + if [ "${OPNENSE_VERSION}" != "" ]; then + sed -i "" -e "s/version = \"1.2RC3\"/version = \"${OPNENSE_VERSION}\"/" $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/conf/pfSense.lua + fi + + # 597_ belongs in installation directory + cp $BUILD_HOME/installer/installer_root_dir7/597* \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/install/ + # 599_ belongs in installation directory + cp $BUILD_HOME/installer/installer_root_dir7/599* \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/install/ + # 300_ belongs in dfuibe_lua/ + cp $BUILD_HOME/installer/installer_root_dir7/300* \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/ + # 500_ belongs in dfuibe_lua/ + cp $BUILD_HOME/installer/installer_root_dir7/500* \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/ + # Copy Centipede Networks sponsored easy-install into place + cp -r $BUILD_HOME/installer/easy_install \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/ + # Copy Centipede Networks sponsored easy-install into place + cp $BUILD_HOME/installer/installer_root_dir7/150_easy_install.lua \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/ + # Override the base installers welcome and call the Install step "Custom Install" + cp $BUILD_HOME/installer/installer_root_dir7/200_install.lua \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/ + # Copy custom 950_reboot.lua script which touches /tmp/install_complete + cp $BUILD_HOME/installer/installer_root_dir7/950_reboot.lua \ + $OPNSENSEBASEDIR/usr/local/share/dfuibe_lua/ + # Copy cleargpt.sh utility + cp $BUILD_HOME/installer/cleargpt.sh \ + $OPNSENSEBASEDIR/usr/sbin/ + chmod a+rx $OPNSENSEBASEDIR/usr/sbin/cleargpt.sh + # Copy installer launcher scripts + cp $BUILD_HOME/installer/scripts/pfi $OPNSENSEBASEDIR/scripts/ + cp $BUILD_HOME/installer/scripts/lua_installer $OPNSENSEBASEDIR/scripts/lua_installer + cp $BUILD_HOME/installer/scripts/freebsd_installer $OPNSENSEBASEDIR/scripts/ + cp $BUILD_HOME/installer/scripts/lua_installer_rescue $OPNSENSEBASEDIR/scripts/ + cp $BUILD_HOME/installer/scripts/lua_installer_rescue $OPNSENSEBASEDIR/scripts/ + cp $BUILD_HOME/installer/scripts/lua_installer_full $OPNSENSEBASEDIR/scripts/ + chmod a+rx $OPNSENSEBASEDIR/scripts/* + mkdir -p $OPNSENSEBASEDIR/usr/local/bin/ + cp $BUILD_HOME/installer/scripts/after_installation_routines.sh \ + $OPNSENSEBASEDIR/usr/local/bin/after_installation_routines.sh + chmod a+rx $OPNSENSEBASEDIR/scripts/* +} diff --git a/modules/software.sh b/modules/software.sh new file mode 100644 index 0000000..fc80321 --- /dev/null +++ b/modules/software.sh @@ -0,0 +1,221 @@ +setup_software(){ + install_pbi_tools + install_bsdinstaller + deploy_opnsense_ports + install_opnsense_ports +} + +# deploy opnsense custom ports +deploy_opnsense_ports(){ + echo ">>> deploy opnsense custom ports to system" + (cd $OPNSENSE_PORTS && ./deploy.sh ) +} + +# install bsd installer +install_bsdinstaller(){ + if [ `pkg info | grep bsdinst | wc -l` -le 0 ]; then + # unpack bsd installer sources + echo ">>> Unpack BSDinstaller sources into $BUILD_HOME/work" + cd $BUILD_HOME/work + tar xzf $BUILD_HOME/source/bsd_installer.tar.gz -C . + + cd $BUILD_HOME/work/installer/scripts/build + mkdir -p /usr/ports/packages/All 2>/dev/null + mkdir -p /usr/ports/packages/Old 2>/dev/null + + cat $BUILD_HOME/conf/bsdinstaller/build.conf | sed 's,,$BUILD_HOME,g' > $BUILD_HOME/work/installer/scripts/build/build.conf + + echo -n ">>> Creating installer tarballs..." + (cd $BUILD_HOME/work/installer/scripts/build && ./create_installer_tarballs.sh) 2>&1 | egrep -B3 -A3 -wi '(warning|error)' + echo "Done!" + + echo -n ">>> Copying ports to the ports directory..." + (cd $BUILD_HOME/work/installer/scripts/build && ./copy_ports_to_portsdir.sh) 2>&1 | egrep -B3 -A3 -wi '(warning|error)' + echo "Done!" + + echo -n ">>> Rebuilding BSDInstaller..." + (export BATCH=yes && cd $BUILD_HOME/work/installer/scripts/build && sh ./build_installer_packages.sh) 2>&1 | egrep -B3 -A3 -wi '(error)' + echo "Done!" + + cd /usr/ports/sysutils/bsdinstaller + make BATCH=yes install + else + echo ">>> BSDInstaller already installed" + fi +} + +# Installs PBI tools +install_pbi_tools() { + + if [ ! -d "${PCBSD_PATH}" ]; then + mkdir -p "${PCBSD_PATH}" + fi + + CLONE=1 + if [ -d "${PCBSD_PATH}/.git" ]; then + CUR_BRANCH=$(cd /${PCBSD_PATH} && git branch | grep '^\*' | cut -d' ' -f2) + if [ "${CUR_BRANCH}" = "${PCBSD_BRANCH}" ]; then + CLONE=0 + echo -n ">>> Updating PCBSD repo ..." + ( cd ${PCBSD_PATH} && git fetch origin; git reset --hard; git clean -fxd; git rebase origin/${PCBSD_BRANCH} ) 2>&1 | grep -C3 -i 'error' + echo "Done!" + else + rm -rf ${PCBSD_PATH}/* + fi + fi + + if [ ${CLONE} -eq 1 ]; then + echo -n ">>> Cloning PCBSD repo to ${PCBSD_PATH} ..." + ( git clone --branch ${PCBSD_BRANCH} --single-branch ${PCBSD_REPO} ${PCBSD_PATH} ) 2>&1 | grep -C3 -i 'error' + echo "Done!" + fi + + echo -n ">>> Installing PBI tools ..." + ( cd ${PCBSD_PATH}/src-sh/pbi-manager && sh ./install.sh ) 2>&1 | grep -C3 -i 'error' + echo "Done!" +} + +# +# check if selected port is installed +# return 1 ( installed ) or 0 ( not installed) +# +is_port_installed(){ + local PORT + + PORT="${1}" + if pkg query %n ${PORT} >/dev/null 2>&1; then + return 0 + else + return 1 + fi +} + +# +# install a port including dependencies +# +install_port() { + PORT_LOCATION="${1}" + + + MAKE_CONF="__MAKE_CONF=/tmp/ports_make.conf" + + BUILDLIST=$(make -C ${PORT_LOCATION} build-depends-list 2>/dev/null) + for DEP_PORT_LOCATION in $BUILDLIST + do + DEP_PKGNAME=$(make -C $DEP_PORT_LOCATION -V PKGNAME) + if ! is_port_installed $DEP_PKGNAME ; then + install_port $DEP_PORT_LOCATION + fi + done + + if [ ! -d /tmp/opnPort/buildlogs ]; then + mkdir -p /tmp/opnPort/buildlogs + fi + + if ! grep -q "$PORT_LOCATION" /tmp/portsinstalled ; then + _PORTNAME=$(basename $PORT_LOCATION) + echo -n ">>> Building $_PORTNAME(${PKGNAME})..." + if ! script /tmp/opnPort/buildlogs/$_PORTNAME make ${MAKE_CONF} -C $PORT_LOCATION \ + TARGET_ARCH=${ARCH} ${MAKEJ_PORTS} BATCH=yes FORCE_PKG_REGISTER=yes \ + rmconfig clean build deinstall install clean 2>&1 1>/dev/null; then + echo ">>> Building $_PORTNAME(${PKGNAME})...ERROR!" >> /tmp/pfPort_build_failures + echo "Failed to build. Error log in /tmp/opnPort/buildlogs/$_PORTNAME." + else + mv /tmp/opnPort/buildlogs/$_PORTNAME /tmp/opnPort/buildlogs/$_PORTNAME.success + echo "Done. (log in /tmp/opnPort/buildlogs/$_PORTNAME.success) " + fi + + echo "$PORT_LOCATION" >> /tmp/portsinstalled + fi + +} + +# +# create new make.conf for ports ( into /tmp/ports_make.conf ) +# +setup_ports_make_conf() { + DCPUS=`sysctl kern.smp.cpus | cut -d' ' -f2` + CPUS=`expr $DCPUS '*' 2` + echo SUBTHREADS="${CPUS}" > /tmp/ports_make.conf + if [ -f "${BUILD_HOME}/conf/ports/make.conf" ]; then + cat ${BUILD_HOME}/conf/ports/make.conf >> /tmp/ports_make.conf + fi + +} + + +# +# install ports required for opnSense +# +install_opnsense_ports(){ + echo ">>> install opnSense ports" + if [ -f /tmp/portsinstalled ]; then + rm /tmp/portsinstalled + fi + touch /tmp/portsinstalled + + + setup_ports_make_conf + + OIFS=$IFS + IFS=" +" + for PORT in `cat $BUILD_HOME/conf/ports/buildports | grep -v "^#" | sed -e '/^[[:blank:]]*$/d; /^[[:blank:]]#/d' `; + do + PORT_NAME=$(echo $PORT | awk '{ print $1 ;}') + PORT_LOCATION=$(echo $PORT | awk '{ print $2 }') + PORT_VERIFY_INSTALL_FILE=$(echo $PORT | awk '{ print $3 }') + if [ -f $PORT_VERIFY_INSTALL_FILE ]; then + echo " > already installed $PORT_NAME" + else + if [ -d $PORT_LOCATION ]; then + PKGNAME=$(make -C $PORT_LOCATION -V PKGNAME) + if `is_port_installed $PKGNAME`; then + echo " > (skip) already installed $PORT_NAME" + else + echo " > install $PKGNAME / $PORT_LOCATION" + install_port $PORT_LOCATION + fi + + else + echo "E>> not found $PORT_NAME / $PORT_LOCATION" + fi + fi + + done + + IFS=$OIFS + +} + +# +# list all missing ports +# +print_missing_ports(){ + OIFS=$IFS + IFS=" +" + for PORT in `cat $BUILD_HOME/conf/ports/buildports | sed -e '/^[[:blank:]]*$/d; /^[[:blank:]]#/d' | grep -v "^#" `; + do + PORT_NAME=$(echo $PORT | awk '{ print $1 ;}') + PORT_LOCATION=$(echo $PORT | awk '{ print $2 }') + PORT_VERIFY_INSTALL_FILE=$(echo $PORT | awk '{ print $3 }') + if [ ! -f $PORT_VERIFY_INSTALL_FILE ]; then + if [ -d $PORT_LOCATION ]; then + PKGNAME=$(make -C $PORT_LOCATION -V PKGNAME) + if `is_port_installed $PKGNAME`; then + echo " > $PKGNAME installed, but not found @ $PORT_LOCATION " + else + echo " > build failed for $PKGNAME / $PORT_LOCATION" + fi + + else + echo " > not found $PORT_NAME / $PORT_LOCATION" + fi + fi + + done + + IFS=$OIFS + +} diff --git a/modules/staging_area.sh b/modules/staging_area.sh new file mode 100644 index 0000000..65a834d --- /dev/null +++ b/modules/staging_area.sh @@ -0,0 +1,124 @@ +# setup staging area +setup_staging_area(){ + + # Allow old CUSTOMROOT to be deleted later + if [ -d $CUSTOMROOT ]; then + chflags -R noschg $CUSTOMROOT + else + mkdir -p $CUSTOMROOT + fi + + echo ">>> Phase cust_populate_extra" + cust_populate_extra + echo ">>> unpack opnSense software" + unpack_opnsense_software + echo ">>> set image -> cdrom " + set_image_as_cdrom + echo ">>> copy default config" + copy_config_xml_from_conf_default +} + +# Set image as a CDROM type image +set_image_as_cdrom() { + echo cdrom > $CUSTOMROOT/etc/platform + + if [ ! -d $CUSTOMROOT/tank ]; then + mkdir $CUSTOMROOT/tank + fi + +} + + +# Copies all extra files to the CUSTOMROOT staging +# area and ISO staging area (as needed) +cust_populate_extra() { + mkdir -p ${CUSTOMROOT}/lib + + STRUCTURE_TO_CREATE="root etc usr/local/pkg/parse_config var/run scripts conf usr/local/share/dfuibe_installer root usr/local/bin usr/local/sbin usr/local/lib usr/local/etc usr/local/lib/lighttpd usr/bin usr/lib usr/lib32 usr/libexec usr/local usr/obj usr/pbi usr/sbin usr/share" + + for TEMPDIR in $STRUCTURE_TO_CREATE; do + mkdir -p ${CUSTOMROOT}/${TEMPDIR} + mkdir -p ${OPNSENSEBASEDIR}/${TEMPDIR} + done + + echo exit > $CUSTOMROOT/root/.xcustom.sh + touch $CUSTOMROOT/root/.hushlogin + + # bsnmpd + mkdir -p $CUSTOMROOT/usr/share/snmp/defs/ + cp -R /usr/share/snmp/defs/ $CUSTOMROOT/usr/share/snmp/defs/ + + # Make sure parse_config exists + + # Set buildtime + if [ "${DATESTRING}" != "" ]; then + date -j -f "%Y%m%d-%H%M" "${DATESTRING}" "+%a %b %e %T %Z %Y" > $CUSTOMROOT/etc/version.buildtime + else + date > $CUSTOMROOT/etc/version.buildtime + fi + + # Record last commit info if it is available. + if [ -f /tmp/build_commit_info.txt ]; then + cp /tmp/build_commit_info.txt $CUSTOMROOT/etc/version.lastcommit + fi + + # Suppress extra spam when logging in + touch $CUSTOMROOT/root/.hushlogin + + # Setup login environment + echo > $CUSTOMROOT/root/.shrc + + # Detect interactive logins and display the shell + echo "if [ \`env | grep SSH_TTY | wc -l\` -gt 0 ] || [ \`env | grep cons25 | wc -l\` -gt 0 ]; then" > $CUSTOMROOT/root/.shrc + echo " /etc/rc.initial" >> $CUSTOMROOT/root/.shrc + echo " exit" >> $CUSTOMROOT/root/.shrc + echo "fi" >> $CUSTOMROOT/root/.shrc + echo "if [ \`env | grep SSH_TTY | wc -l\` -gt 0 ] || [ \`env | grep cons25 | wc -l\` -gt 0 ]; then" >> $CUSTOMROOT/root/.profile + echo " /etc/rc.initial" >> $CUSTOMROOT/root/.profile + echo " exit" >> $CUSTOMROOT/root/.profile + echo "fi" >> $CUSTOMROOT/root/.profile + + # Turn off error checking + set +e + + # Nuke CVS dirs + find $CUSTOMROOT -type d -name CVS -exec rm -rf {} \; 2> /dev/null + find $CUSTOMROOT -type d -name "_orange-flow" -exec rm -rf {} \; 2> /dev/null + + # Enable debug if requested + if [ ! -z "${OPNSENSE_DEBUG:-}" ]; then + touch ${CUSTOMROOT}/debugging + fi +} + + +# +# copy opnsense base software +# +unpack_opnsense_software(){ + # copy opnSense base + if [ ! -d $BUILD_HOME/../opnsense-core ]; then + echo "opnsource directory $BUILD_HOME/../opnsense-core missing" + exit 1 + fi + echo -n " > copy opnSense software from $BUILD_HOME/../opnsense-sources -> $CUSTOMROOT .." + rsync -az $BUILD_HOME/../opnsense-core/* $CUSTOMROOT + rm -rf $CUSTOMROOT/.git* + chown -R root:wheel $CUSTOMROOT + echo "done" +} + +# This copies the default config.xml to the location on +# disk as the primary configuration file. +copy_config_xml_from_conf_default() { + if [ ! -f "${CUSTOMROOT}/cf/conf/config.xml" ]; then + echo ">>> Copying config.xml from conf.default/ to cf/conf/" + cp ${CUSTOMROOT}/conf.default/config.xml ${CUSTOMROOT}/cf/conf/ + fi + + if [ ! -L "${CUSTOMROOT}/cf/conf.default" ]; then + # link default + ln -s /conf.default ${CUSTOMROOT}/cf/conf.default + fi + +} diff --git a/patches/RELENG_10_0/CP_multi_instance_ipfw.diff b/patches/RELENG_10_0/CP_multi_instance_ipfw.diff new file mode 100644 index 0000000..9746688 --- /dev/null +++ b/patches/RELENG_10_0/CP_multi_instance_ipfw.diff @@ -0,0 +1,1298 @@ +diff --git a/sbin/ipfw/Makefile b/sbin/ipfw/Makefile +index 1acd4b7..7c83361 100644 +--- a/sbin/ipfw/Makefile ++++ b/sbin/ipfw/Makefile +@@ -1,7 +1,7 @@ + # $FreeBSD: stable/10/sbin/ipfw/Makefile 204869 2010-03-08 14:43:55Z luigi $ + + PROG= ipfw +-SRCS= ipfw2.c dummynet.c ipv6.c main.c nat.c ++SRCS= ipfw2.c dummynet.c ipv6.c main.c nat.c context.c + WARNS?= 2 + DPADD= ${LIBUTIL} + LDADD= -lutil +diff --git a/sbin/ipfw/context.c b/sbin/ipfw/context.c +new file mode 100644 +index 0000000..f121b2e +--- /dev/null ++++ b/sbin/ipfw/context.c +@@ -0,0 +1,148 @@ ++/* ++ * Copyright (c) 2013 Ermal Lu‡i ++ * ++ * Redistribution and use in source forms, with and without modification, ++ * are permitted provided that this entire comment appears intact. ++ * ++ * Redistribution in binary form may occur without any restrictions. ++ * Obviously, it would be nice if you gave credit where credit is due ++ * but requiring it would be too onerous. ++ * ++ * This software is provided ``AS IS'' without any warranties of any kind. ++ * ++ * $FreeBSD$ ++ */ ++ ++#include ++#include ++ ++#include ++#include ++ ++#include ++#include ++ ++#include "ipfw2.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++extern int ipfw_socket; ++ ++int ++ipfw_context_handler(int ac, char **av) ++{ ++ ip_fw3_opheader *op3; ++ int error = 0; ++ uint32_t action = 0; ++ socklen_t len, nlen; ++ char *ifname; ++ ++ av++; ++ ac--; ++ NEED1("bad arguments, for usage summary ``ipfw''"); ++ ++ if (!strncmp(*av, "list", strlen(*av))) { ++ action = IP_FW_CTX_GET; ++ av++; ++ ac--; ++ if (ac > 0) ++ errx(EX_DATAERR, "list: does not take any extra arguments."); ++ ++ } else { ++ co.ctx = atoi(*av); ++ ++ av++; ++ ac--; ++ NEED1("bad arguments, for usage summary ``ipfw''"); ++ ++ if (!strncmp(*av, "create", strlen(*av))) ++ action = IP_FW_CTX_ADD; ++ else if (!strncmp(*av, "destroy", strlen(*av))) ++ action = IP_FW_CTX_DEL; ++ else { ++ if (!strncmp(*av, "madd", strlen(*av))) ++ action = IP_FW_CTX_ADDMEMBER; ++ else if (!strncmp(*av, "mdel", strlen(*av))) ++ action = IP_FW_CTX_DELMEMBER; ++ else ++ errx(EX_DATAERR, "Wrong parameters passed"); ++ ++ av++; ++ ac--; ++ NEED1("bad arguments, for usage summary ``ipfw''"); ++ ++ ifname = *av; ++ } ++ ++ ac--; ++ if (ac > 0) ++ errx(EX_DATAERR, "context handling: Too many arguments passed"); ++ ++ } ++ ++ if (co.test_only) ++ return (0); ++ ++ if (ipfw_socket < 0) ++ ipfw_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); ++ if (ipfw_socket < 0) ++ err(EX_UNAVAILABLE, "socket"); ++ ++ switch (action) { ++ case IP_FW_CTX_ADD: ++ case IP_FW_CTX_DEL: ++ case IP_FW_CTX_SET: ++ len = sizeof(ip_fw3_opheader); ++ op3 = alloca(len); ++ /* Zero reserved fields */ ++ memset(op3, 0, sizeof(ip_fw3_opheader)); ++ op3->opcode = action; ++ op3->ctxid = co.ctx; ++ error = setsockopt(ipfw_socket, IPPROTO_IP, IP_FW3, op3, len); ++ break; ++ case IP_FW_CTX_ADDMEMBER: ++ case IP_FW_CTX_DELMEMBER: ++ len = sizeof(ip_fw3_opheader) + strlen(ifname) + 1; ++ op3 = alloca(len); ++ /* Zero reserved fields */ ++ memset(op3, 0, sizeof(ip_fw3_opheader)); ++ memcpy((op3 + 1), ifname, strlen(ifname)); ++ op3->opcode = action; ++ op3->ctxid = co.ctx; ++ error = setsockopt(ipfw_socket, IPPROTO_IP, IP_FW3, op3, len); ++ break; ++ case IP_FW_CTX_GET: ++ len = sizeof(ip_fw3_opheader) + 1000; ++ nlen = len; ++ do { ++ if (nlen > len) { ++ len = nlen; ++ } ++ op3 = alloca(len); ++ /* Zero reserved fields */ ++ memset(op3, 0, sizeof(ip_fw3_opheader)); ++ op3->opcode = action; ++ op3->ctxid = co.ctx; ++ nlen = len; ++ error = getsockopt(ipfw_socket, IPPROTO_IP, IP_FW3, op3, &nlen); ++ } while (nlen > len && !error); ++ ++ if (!error) { ++ if (nlen == 0) ++ printf("There are no contextes defined\n"); ++ else ++ printf("Currently defined contextes and their members:\n%s\n", (char *)op3); ++ } else ++ err(EX_UNAVAILABLE, "Error returned: %s\n", strerror(error)); ++ ++ break; ++ } ++ ++ return (error); ++} +diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c +index 5f48697..dd1d17f 100644 +--- a/sbin/ipfw/ipfw2.c ++++ b/sbin/ipfw/ipfw2.c +@@ -54,7 +54,7 @@ + #include + #include + +-struct cmdline_opts co; /* global options */ ++struct cmdline_opts co = { 0 }; /* global options */ + + int resvd_set_number = RESVD_SET; + +@@ -420,6 +420,7 @@ safe_realloc(void *ptr, size_t size) + int + do_cmd(int optname, void *optval, uintptr_t optlen) + { ++ ip_fw3_opheader op3; + int i; + + if (co.test_only) +@@ -430,6 +431,15 @@ do_cmd(int optname, void *optval, uintptr_t optlen) + if (ipfw_socket < 0) + err(EX_UNAVAILABLE, "socket"); + ++ if (optname != IP_FW3 && optname != IP_DUMMYNET3 && optname != -IP_DUMMYNET3) { ++ memset(&op3, 0, sizeof op3); ++ op3.ctxid = co.ctx; ++ op3.opcode = IP_FW_CTX_SET; ++ i = setsockopt(ipfw_socket, IPPROTO_IP, IP_FW3, &op3, sizeof(op3)); ++ if (i) ++ errx(EX_OSERR, "setsockopt: choosing context"); ++ } ++ + if (optname == IP_FW_GET || optname == IP_DUMMYNET_GET || + optname == IP_FW_ADD || optname == IP_FW3 || + optname == IP_FW_NAT_GET_CONFIG || +@@ -475,6 +485,7 @@ do_setcmd3(int optname, void *optval, socklen_t optlen) + memset(op3, 0, sizeof(ip_fw3_opheader)); + memcpy(op3 + 1, optval, optlen); + op3->opcode = optname; ++ op3->ctxid = co.ctx; + + return setsockopt(ipfw_socket, IPPROTO_IP, IP_FW3, op3, len); + } +@@ -4435,6 +4446,7 @@ table_list(uint16_t num, int need_header) + a = (uint32_t *)(op3 + 1); + *a = num; + op3->opcode = IP_FW_TABLE_XGETSIZE; ++ op3->ctxid = co.ctx; + if (do_cmd(IP_FW3, op3, (uintptr_t)&l) < 0) + err(EX_OSERR, "getsockopt(IP_FW_TABLE_XGETSIZE)"); + +diff --git a/sbin/ipfw/ipfw2.h b/sbin/ipfw/ipfw2.h +index 07fb8b9..b242ce4 100644 +--- a/sbin/ipfw/ipfw2.h ++++ b/sbin/ipfw/ipfw2.h +@@ -54,6 +54,7 @@ struct cmdline_opts { + int use_set; /* work with specified set number */ + /* 0 means all sets, otherwise apply to set use_set - 1 */ + ++ u_int ctx; + }; + + extern struct cmdline_opts co; +@@ -277,6 +278,9 @@ void dummynet_list(int ac, char *av[], int show_counters); + void dummynet_flush(void); + int ipfw_delete_pipe(int pipe_or_queue, int n); + ++/* Contextes */ ++int ipfw_context_handler(int, char **); ++ + /* ipv6.c */ + void print_unreach6_code(uint16_t code); + void print_ip6(struct _ipfw_insn_ip6 *cmd, char const *s); +diff --git a/sbin/ipfw/main.c b/sbin/ipfw/main.c +index 1096298..33fef9c 100644 +--- a/sbin/ipfw/main.c ++++ b/sbin/ipfw/main.c +@@ -262,7 +262,7 @@ ipfw_main(int oldac, char **oldav) + save_av = av; + + optind = optreset = 1; /* restart getopt() */ +- while ((ch = getopt(ac, av, "abcdefhinNp:qs:STtv")) != -1) ++ while ((ch = getopt(ac, av, "abcdefhinNp:qs:STtvx:")) != -1) + switch (ch) { + case 'a': + do_acct = 1; +@@ -335,6 +335,12 @@ ipfw_main(int oldac, char **oldav) + co.verbose = 1; + break; + ++ case 'x': ++ co.ctx = atoi(optarg); ++ if (co.ctx == 0) ++ errx(EX_USAGE, "Context 0 is invalid"); ++ break; ++ + default: + free(save_av); + return 1; +@@ -362,7 +368,9 @@ ipfw_main(int oldac, char **oldav) + co.do_nat = 0; + co.do_pipe = 0; + co.use_set = 0; +- if (!strncmp(*av, "nat", strlen(*av))) ++ if (!strncmp(*av, "zone", strlen(*av))) ++ return (ipfw_context_handler(ac, av)); ++ else if (!strncmp(*av, "nat", strlen(*av))) + co.do_nat = 1; + else if (!strncmp(*av, "pipe", strlen(*av))) + co.do_pipe = 1; +@@ -389,6 +397,9 @@ ipfw_main(int oldac, char **oldav) + } + NEED1("missing command"); + ++ if (!co.ctx && !co.do_pipe) ++ err(11, "Context is mandatory"); ++ + /* + * For pipes, queues and nats we normally say 'nat|pipe NN config' + * but the code is easier to parse as 'nat|pipe config NN' +@@ -458,7 +469,7 @@ ipfw_readfile(int ac, char *av[]) + FILE *f = NULL; + pid_t preproc = 0; + +- while ((c = getopt(ac, av, "cfNnp:qS")) != -1) { ++ while ((c = getopt(ac, av, "cfNnp:qSx:")) != -1) { + switch(c) { + case 'c': + co.do_compact = 1; +@@ -509,6 +520,12 @@ ipfw_readfile(int ac, char *av[]) + co.show_sets = 1; + break; + ++ case 'x': ++ co.ctx = atoi(optarg); ++ if (co.ctx == 0) ++ errx(EX_USAGE, "Context 0 is invalid"); ++ break; ++ + default: + errx(EX_USAGE, "bad arguments, for usage" + " summary ``ipfw''"); +diff --git a/sys/netinet/ip_fw.h b/sys/netinet/ip_fw.h +index 5ec8969..8d83945 100644 +--- a/sys/netinet/ip_fw.h ++++ b/sys/netinet/ip_fw.h +@@ -65,7 +65,8 @@ + /* IP_FW3 header/opcodes */ + typedef struct _ip_fw3_opheader { + uint16_t opcode; /* Operation opcode */ +- uint16_t reserved[3]; /* Align to 64-bit boundary */ ++ uint16_t ctxid; ++ uint16_t reserved[2]; /* Align to 64-bit boundary */ + } ip_fw3_opheader; + + +@@ -73,3 +73,9 @@ #define IP_FW_TABLE_XADD 86 /* add entry */ + #define IP_FW_TABLE_XDEL 87 /* delete entry */ + #define IP_FW_TABLE_XGETSIZE 88 /* get table size */ + #define IP_FW_TABLE_XLIST 89 /* list table contents */ ++#define IP_FW_CTX_GET 92 ++#define IP_FW_CTX_ADD 93 ++#define IP_FW_CTX_DEL 94 ++#define IP_FW_CTX_SET 95 ++#define IP_FW_CTX_ADDMEMBER 96 ++#define IP_FW_CTX_DELMEMBER 97 + + /* + * The kernel representation of ipfw rules is made of a list of +diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c +index b8605a5..6ad9c62 100644 +--- a/sys/netpfil/ipfw/ip_fw2.c ++++ b/sys/netpfil/ipfw/ip_fw2.c +@@ -139,8 +139,7 @@ VNET_DEFINE(int, fw_verbose); + VNET_DEFINE(u_int64_t, norule_counter); + VNET_DEFINE(int, verbose_limit); + +-/* layer3_chain contains the list of rules for layer 3 */ +-VNET_DEFINE(struct ip_fw_chain, layer3_chain); ++VNET_DEFINE(struct ip_fw_contextes, ip_fw_contexts); + + VNET_DEFINE(int, ipfw_nat_ready) = 0; + +@@ -181,9 +180,6 @@ SYSCTL_INT(_net_inet_ip_fw, OID_AUTO, default_to_accept, CTLFLAG_RDTUN, + "Make the default rule accept all packets."); + TUNABLE_INT("net.inet.ip.fw.default_to_accept", &default_to_accept); + TUNABLE_INT("net.inet.ip.fw.tables_max", (int *)&default_fw_tables); +-SYSCTL_VNET_INT(_net_inet_ip_fw, OID_AUTO, static_count, +- CTLFLAG_RD, &VNET_NAME(layer3_chain.n_rules), 0, +- "Number of static rules"); + + #ifdef INET6 + SYSCTL_DECL(_net_inet6_ip6); +@@ -903,6 +899,9 @@ ipfw_chk(struct ip_fw_args *args) + */ + struct ifnet *oif = args->oif; + ++ if (V_ip_fw_contexts.chain[oif->if_ispare[0]] == NULL) ++ return (IP_FW_PASS); ++ + int f_pos = 0; /* index of current rule in the array */ + int retval = 0; + +@@ -953,9 +952,15 @@ ipfw_chk(struct ip_fw_args *args) + */ + int dyn_dir = MATCH_UNKNOWN; + ipfw_dyn_rule *q = NULL; +- struct ip_fw_chain *chain = &V_layer3_chain; + void *tblent = NULL; + ++ /* XXX: WARNING - The chain is accessed unlocked here. ++ * There is a potential race here with context handling. ++ * The chain pointer will get destroyed and a NULL ++ * pointer dereference can happen! ++ */ ++ struct ip_fw_chain *chain = V_ip_fw_contexts.chain[oif->if_ispare[0]]; ++ + /* + * We store in ulp a pointer to the upper layer protocol header. + * In the ipv4 case this is easy to determine from the header, +@@ -2500,7 +2505,7 @@ do { \ + set_match(args, f_pos, chain); + /* Check if this is 'global' nat rule */ + if (cmd->arg1 == 0) { +- retval = ipfw_nat_ptr(args, NULL, m); ++ retval = ipfw_nat_ptr(args, NULL, m, chain); + l = 0; + done = 1; + break; +@@ -2519,7 +2524,7 @@ do { \ + if (cmd->arg1 != IP_FW_TABLEARG) + ((ipfw_insn_nat *)cmd)->nat = t; + } +- retval = ipfw_nat_ptr(args, t, m); ++ retval = ipfw_nat_ptr(args, t, m, chain); + } + l = 0; /* exit inner loop */ + done = 1; /* exit outer loop */ +@@ -2628,7 +2633,9 @@ sysctl_ipfw_table_num(SYSCTL_HANDLER_ARGS) + if ((error != 0) || (req->newptr == NULL)) + return (error); + +- return (ipfw_resize_tables(&V_layer3_chain, ntables)); ++ for (int i = 1; i < IP_FW_MAXCTX; i++) ++ error += ipfw_resize_tables(V_ip_fw_contexts.chain[i], ntables); ++ return (error); + } + #endif + /* +@@ -2706,11 +2713,6 @@ ipfw_destroy(void) + static int + vnet_ipfw_init(const void *unused) + { +- int error; +- struct ip_fw *rule = NULL; +- struct ip_fw_chain *chain; +- +- chain = &V_layer3_chain; + + /* First set up some values that are compile time options */ + V_autoinc_step = 100; /* bounded to 1..1000 in add_rule() */ +@@ -2721,10 +2723,55 @@ vnet_ipfw_init(const void *unused) + #ifdef IPFIREWALL_VERBOSE_LIMIT + V_verbose_limit = IPFIREWALL_VERBOSE_LIMIT; + #endif ++ ++ for (int i = 0; i < IP_FW_MAXCTX; i++) ++ V_ip_fw_contexts.chain[i] = NULL; ++ ++ IPFW_CTX_LOCK_INIT(); ++ ++ V_ip_fw_contexts.ifnet_arrival = EVENTHANDLER_REGISTER(ifnet_arrival_event, ++ ipfw_attach_ifnet_event, NULL, EVENTHANDLER_PRI_ANY); ++ ++ ipfw_dyn_init(); ++ ++ /* First set up some values that are compile time options */ ++ V_ipfw_vnet_ready = 1; /* Open for business */ ++ ++ /* ++ * Hook the sockopt handler and pfil hooks for ipv4 and ipv6. ++ * Even if the latter two fail we still keep the module alive ++ * because the sockopt and layer2 paths are still useful. ++ * ipfw[6]_hook return 0 on success, ENOENT on failure, ++ * so we can ignore the exact return value and just set a flag. ++ * ++ * Note that V_fw[6]_enable are manipulated by a SYSCTL_PROC so ++ * changes in the underlying (per-vnet) variables trigger ++ * immediate hook()/unhook() calls. ++ * In layer2 we have the same behaviour, except that V_ether_ipfw ++ * is checked on each packet because there are no pfil hooks. ++ */ ++ V_ip_fw_ctl_ptr = ipfw_ctl; ++ return ipfw_attach_hooks(1); ++} ++ ++int ++ipfw_context_init(int index) ++{ ++ struct ip_fw_chain *chain; ++ struct ip_fw *rule = NULL; ++ ++ if (index > IP_FW_MAXCTX) ++ return (-1); ++ ++ TAILQ_INIT(&V_ip_fw_contexts.iflist[index]); ++ ++ chain = V_ip_fw_contexts.chain[index]; ++ ++ IPFW_LOCK_INIT(chain); ++ + #ifdef IPFIREWALL_NAT + LIST_INIT(&chain->nat); + #endif +- + /* insert the default rule and create the initial map */ + chain->n_rules = 1; + chain->static_len = sizeof(struct ip_fw); +@@ -2734,13 +2781,7 @@ vnet_ipfw_init(const void *unused) + + /* Set initial number of tables */ + V_fw_tables_max = default_fw_tables; +- error = ipfw_init_tables(chain); +- if (error) { +- printf("ipfw2: setting up tables failed\n"); +- free(chain->map, M_IPFW); +- free(rule, M_IPFW); +- return (ENOSPC); +- } ++ ipfw_init_tables(chain); + + /* fill and insert the default rule */ + rule->act_ofs = 0; +@@ -2752,28 +2793,13 @@ vnet_ipfw_init(const void *unused) + chain->rules = chain->default_rule = chain->map[0] = rule; + chain->id = rule->id = 1; + +- IPFW_LOCK_INIT(chain); +- ipfw_dyn_init(chain); +- +- /* First set up some values that are compile time options */ +- V_ipfw_vnet_ready = 1; /* Open for business */ ++ /* ++ * This can potentially be done on first dynamic rule ++ * being added to chain. ++ */ ++ resize_dynamic_table(chain, V_curr_dyn_buckets); + +- /* +- * Hook the sockopt handler and pfil hooks for ipv4 and ipv6. +- * Even if the latter two fail we still keep the module alive +- * because the sockopt and layer2 paths are still useful. +- * ipfw[6]_hook return 0 on success, ENOENT on failure, +- * so we can ignore the exact return value and just set a flag. +- * +- * Note that V_fw[6]_enable are manipulated by a SYSCTL_PROC so +- * changes in the underlying (per-vnet) variables trigger +- * immediate hook()/unhook() calls. +- * In layer2 we have the same behaviour, except that V_ether_ipfw +- * is checked on each packet because there are no pfil hooks. +- */ +- V_ip_fw_ctl_ptr = ipfw_ctl; +- error = ipfw_attach_hooks(1); +- return (error); ++ return (0); + } + + /* +@@ -2782,11 +2808,9 @@ vnet_ipfw_init(const void *unused) + static int + vnet_ipfw_uninit(const void *unused) + { +- struct ip_fw *reap, *rule; +- struct ip_fw_chain *chain = &V_layer3_chain; +- int i; + + V_ipfw_vnet_ready = 0; /* tell new callers to go away */ ++ + /* + * disconnect from ipv4, ipv6, layer2 and sockopt. + * Then grab, release and grab again the WLOCK so we make +@@ -2794,14 +2818,51 @@ vnet_ipfw_uninit(const void *unused) + */ + (void)ipfw_attach_hooks(0 /* detach */); + V_ip_fw_ctl_ptr = NULL; ++ ++ ipfw_dyn_uninit(0); /* run the callout_drain */ ++ ++ IPFW_CTX_WLOCK(); ++ EVENTHANDLER_DEREGISTER(ifnet_arrival_event, V_ip_fw_contexts.ifnet_arrival); ++ for (int i = 0; i < IP_FW_MAXCTX; i++) { ++ ipfw_context_uninit(i); ++ } ++ IPFW_CTX_WUNLOCK(); ++ IPFW_CTX_LOCK_DESTROY(); ++ ++ ipfw_dyn_uninit(1); /* free the remaining parts */ ++ ++ return (0); ++} ++ ++int ++ipfw_context_uninit(int index) ++{ ++ struct ip_fw_chain *chain; ++ struct ip_fw_ctx_iflist *ifl; ++ struct ip_fw *reap, *rule; ++ struct ifnet *ifp; ++ int i; ++ ++ if (index > IP_FW_MAXCTX) ++ return (-1); ++ ++ chain = V_ip_fw_contexts.chain[index]; ++ if (chain == NULL) ++ return (0); ++ ++ while (!TAILQ_EMPTY(&V_ip_fw_contexts.iflist[index])) { ++ ifl = TAILQ_FIRST(&V_ip_fw_contexts.iflist[index]); ++ TAILQ_REMOVE(&V_ip_fw_contexts.iflist[index], ifl, entry); ++ ifp = ifunit(ifl->ifname); ++ if (ifp != NULL) ++ ifp->if_ispare[0] = 0; ++ free(ifl, M_IPFW); ++ } ++ + IPFW_UH_WLOCK(chain); + IPFW_UH_WUNLOCK(chain); + IPFW_UH_WLOCK(chain); + +- IPFW_WLOCK(chain); +- ipfw_dyn_uninit(0); /* run the callout_drain */ +- IPFW_WUNLOCK(chain); +- + ipfw_destroy_tables(chain); + reap = NULL; + IPFW_WLOCK(chain); +@@ -2817,8 +2878,10 @@ vnet_ipfw_uninit(const void *unused) + if (reap != NULL) + ipfw_reap_rules(reap); + IPFW_LOCK_DESTROY(chain); +- ipfw_dyn_uninit(1); /* free the remaining parts */ +- return 0; ++ ++ free(chain, M_IPFW); ++ ++ return (0); + } + + /* +diff --git a/sys/netpfil/ipfw/ip_fw_dynamic.c b/sys/netpfil/ipfw/ip_fw_dynamic.c +index 123558a..684d6c7 100644 +--- a/sys/netpfil/ipfw/ip_fw_dynamic.c ++++ b/sys/netpfil/ipfw/ip_fw_dynamic.c +@@ -121,11 +121,9 @@ struct ipfw_dyn_bucket { + */ + static VNET_DEFINE(struct ipfw_dyn_bucket *, ipfw_dyn_v); + static VNET_DEFINE(u_int32_t, dyn_buckets_max); +-static VNET_DEFINE(u_int32_t, curr_dyn_buckets); + static VNET_DEFINE(struct callout, ipfw_timeout); + #define V_ipfw_dyn_v VNET(ipfw_dyn_v) + #define V_dyn_buckets_max VNET(dyn_buckets_max) +-#define V_curr_dyn_buckets VNET(curr_dyn_buckets) + #define V_ipfw_timeout VNET(ipfw_timeout) + + static VNET_DEFINE(uma_zone_t, ipfw_dyn_rule_zone); +@@ -181,6 +179,8 @@ static VNET_DEFINE(u_int32_t, dyn_max); /* max # of dynamic rules */ + + static int last_log; /* Log ratelimiting */ + ++VNET_DEFINE(u_int32_t, curr_dyn_buckets); ++ + static void ipfw_dyn_tick(void *vnetx); + static void check_dyn_rules(struct ip_fw_chain *, struct ip_fw *, + int, int, int); +@@ -470,7 +470,7 @@ ipfw_dyn_unlock(ipfw_dyn_rule *q) + IPFW_BUCK_UNLOCK(q->bucket); + } + +-static int ++int + resize_dynamic_table(struct ip_fw_chain *chain, int nbuckets) + { + int i, k, nbuckets_old; +@@ -970,7 +970,6 @@ ipfw_dyn_send_ka(struct mbuf **mtailp, ipfw_dyn_rule *q) + static void + ipfw_dyn_tick(void * vnetx) + { +- struct ip_fw_chain *chain; + int check_ka = 0; + #ifdef VIMAGE + struct vnet *vp = vnetx; +@@ -978,7 +977,6 @@ ipfw_dyn_tick(void * vnetx) + + CURVNET_SET(vp); + +- chain = &V_layer3_chain; + + /* Run keepalive checks every keepalive_period iff ka is enabled */ + if ((V_dyn_keepalive_last + V_dyn_keepalive_period <= time_uptime) && +@@ -987,7 +985,12 @@ ipfw_dyn_tick(void * vnetx) + check_ka = 1; + } + +- check_dyn_rules(chain, NULL, RESVD_SET, check_ka, 1); ++ IPFW_CTX_RLOCK(); ++ for (int i = 1; i < IP_FW_MAXCTX; i++) { ++ if (V_ip_fw_contexts.chain[i] != NULL) ++ check_dyn_rules(V_ip_fw_contexts.chain[i], NULL, RESVD_SET, check_ka, 1); ++ } ++ IPFW_CTX_RUNLOCK(); + + callout_reset_on(&V_ipfw_timeout, hz, ipfw_dyn_tick, vnetx, 0); + +@@ -1303,7 +1306,7 @@ ipfw_expire_dyn_rules(struct ip_fw_chain *chain, struct ip_fw *rule, int set) + } + + void +-ipfw_dyn_init(struct ip_fw_chain *chain) ++ipfw_dyn_init() + { + + V_ipfw_dyn_v = NULL; +@@ -1332,12 +1335,6 @@ ipfw_dyn_init(struct ip_fw_chain *chain) + uma_zone_set_max(V_ipfw_dyn_rule_zone, V_dyn_max); + + callout_init(&V_ipfw_timeout, CALLOUT_MPSAFE); +- +- /* +- * This can potentially be done on first dynamic rule +- * being added to chain. +- */ +- resize_dynamic_table(chain, V_curr_dyn_buckets); + } + + void +diff --git a/sys/netpfil/ipfw/ip_fw_nat.c b/sys/netpfil/ipfw/ip_fw_nat.c +index 98a533e..e16f844 100644 +--- a/sys/netpfil/ipfw/ip_fw_nat.c ++++ b/sys/netpfil/ipfw/ip_fw_nat.c +@@ -64,26 +64,33 @@ ifaddr_change(void *arg __unused, struct ifnet *ifp) + + KASSERT(curvnet == ifp->if_vnet, + ("curvnet(%p) differs from iface vnet(%p)", curvnet, ifp->if_vnet)); +- chain = &V_layer3_chain; +- IPFW_WLOCK(chain); +- /* Check every nat entry... */ +- LIST_FOREACH(ptr, &chain->nat, _next) { +- /* ...using nic 'ifp->if_xname' as dynamic alias address. */ +- if (strncmp(ptr->if_name, ifp->if_xname, IF_NAMESIZE) != 0) ++ ++ IPFW_CTX_RLOCK(); ++ for (int i = 1; i < IP_FW_MAXCTX; i++) { ++ chain = V_ip_fw_contexts.chain[i]; ++ if (chain == NULL) + continue; +- if_addr_rlock(ifp); +- TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { +- if (ifa->ifa_addr == NULL) +- continue; +- if (ifa->ifa_addr->sa_family != AF_INET) ++ IPFW_WLOCK(chain); ++ /* Check every nat entry... */ ++ LIST_FOREACH(ptr, &chain->nat, _next) { ++ /* ...using nic 'ifp->if_xname' as dynamic alias address. */ ++ if (strncmp(ptr->if_name, ifp->if_xname, IF_NAMESIZE) != 0) + continue; +- ptr->ip = ((struct sockaddr_in *) +- (ifa->ifa_addr))->sin_addr; +- LibAliasSetAddress(ptr->lib, ptr->ip); ++ if_addr_rlock(ifp); ++ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { ++ if (ifa->ifa_addr == NULL) ++ continue; ++ if (ifa->ifa_addr->sa_family != AF_INET) ++ continue; ++ ptr->ip = ((struct sockaddr_in *) ++ (ifa->ifa_addr))->sin_addr; ++ LibAliasSetAddress(ptr->lib, ptr->ip); ++ } ++ if_addr_runlock(ifp); + } +- if_addr_runlock(ifp); ++ IPFW_WUNLOCK(chain); + } +- IPFW_WUNLOCK(chain); ++ IPFW_CTX_RUNLOCK(); + } + + /* +@@ -206,18 +213,18 @@ add_redir_spool_cfg(char *buf, struct cfg_nat *ptr) + /* + * ipfw_nat - perform mbuf header translation. + * +- * Note V_layer3_chain has to be locked while calling ipfw_nat() in ++ * Note *chain has to be locked while calling ipfw_nat() in + * 'global' operation mode (t == NULL). + * + */ + static int +-ipfw_nat(struct ip_fw_args *args, struct cfg_nat *t, struct mbuf *m) ++ipfw_nat(struct ip_fw_args *args, struct cfg_nat *t, struct mbuf *m, ++ struct ip_fw_chain *chain) + { + struct mbuf *mcl; + struct ip *ip; + /* XXX - libalias duct tape */ + int ldt, retval, found; +- struct ip_fw_chain *chain; + char *c; + + ldt = 0; +@@ -276,7 +283,6 @@ ipfw_nat(struct ip_fw_args *args, struct cfg_nat *t, struct mbuf *m) + } + + found = 0; +- chain = &V_layer3_chain; + IPFW_RLOCK_ASSERT(chain); + /* Check every nat entry... */ + LIST_FOREACH(t, &chain->nat, _next) { +@@ -391,11 +397,10 @@ lookup_nat(struct nat_list *l, int nat_id) + } + + static int +-ipfw_nat_cfg(struct sockopt *sopt) ++ipfw_nat_cfg(struct sockopt *sopt, struct ip_fw_chain *chain) + { + struct cfg_nat *cfg, *ptr; + char *buf; +- struct ip_fw_chain *chain = &V_layer3_chain; + size_t len; + int gencnt, error = 0; + +@@ -468,10 +473,9 @@ out: + } + + static int +-ipfw_nat_del(struct sockopt *sopt) ++ipfw_nat_del(struct sockopt *sopt, struct ip_fw_chain *chain) + { + struct cfg_nat *ptr; +- struct ip_fw_chain *chain = &V_layer3_chain; + int i; + + sooptcopyin(sopt, &i, sizeof i, sizeof i); +@@ -492,9 +496,8 @@ ipfw_nat_del(struct sockopt *sopt) + } + + static int +-ipfw_nat_get_cfg(struct sockopt *sopt) ++ipfw_nat_get_cfg(struct sockopt *sopt, struct ip_fw_chain *chain) + { +- struct ip_fw_chain *chain = &V_layer3_chain; + struct cfg_nat *n; + struct cfg_redir *r; + struct cfg_spool *s; +@@ -552,14 +555,11 @@ retry: + } + + static int +-ipfw_nat_get_log(struct sockopt *sopt) ++ipfw_nat_get_log(struct sockopt *sopt, struct ip_fw_chain *chain) + { + uint8_t *data; + struct cfg_nat *ptr; + int i, size; +- struct ip_fw_chain *chain; +- +- chain = &V_layer3_chain; + + IPFW_RLOCK(chain); + /* one pass to count, one to copy the data */ +@@ -604,17 +604,22 @@ vnet_ipfw_nat_uninit(const void *arg __unused) + struct cfg_nat *ptr, *ptr_temp; + struct ip_fw_chain *chain; + +- chain = &V_layer3_chain; +- IPFW_WLOCK(chain); +- LIST_FOREACH_SAFE(ptr, &chain->nat, _next, ptr_temp) { +- LIST_REMOVE(ptr, _next); +- del_redir_spool_cfg(ptr, &ptr->redir_chain); +- LibAliasUninit(ptr->lib); +- free(ptr, M_IPFW); ++ IPFW_CTX_RLOCK(); ++ for (int i = 1; i < IP_FW_MAXCTX; i++) { ++ chain = V_ip_fw_contexts.chain[i]; ++ IPFW_WLOCK(chain); ++ LIST_FOREACH_SAFE(ptr, &chain->nat, _next, ptr_temp) { ++ LIST_REMOVE(ptr, _next); ++ del_redir_spool_cfg(ptr, &ptr->redir_chain); ++ LibAliasUninit(ptr->lib); ++ free(ptr, M_IPFW); ++ } ++ flush_nat_ptrs(chain, -1 /* flush all */); ++ V_ipfw_nat_ready = 0; ++ IPFW_WUNLOCK(chain); + } +- flush_nat_ptrs(chain, -1 /* flush all */); +- V_ipfw_nat_ready = 0; +- IPFW_WUNLOCK(chain); ++ IPFW_CTX_RUNLOCK(); ++ + return (0); + } + +diff --git a/sys/netpfil/ipfw/ip_fw_private.h b/sys/netpfil/ipfw/ip_fw_private.h +index 0d749c5..dda9fca 100644 +--- a/sys/netpfil/ipfw/ip_fw_private.h ++++ b/sys/netpfil/ipfw/ip_fw_private.h +@@ -171,6 +171,9 @@ enum { /* result for matching dynamic rules */ + MATCH_UNKNOWN, + }; + ++VNET_DECLARE(u_int32_t, curr_dyn_buckets); ++#define V_curr_dyn_buckets VNET(curr_dyn_buckets) ++ + /* + * The lock for dynamic rules is only used once outside the file, + * and only to release the result of lookup_dyn_rule(). +@@ -179,6 +182,7 @@ enum { /* result for matching dynamic rules */ + struct ip_fw_chain; + void ipfw_expire_dyn_rules(struct ip_fw_chain *, struct ip_fw *, int); + void ipfw_dyn_unlock(ipfw_dyn_rule *q); ++int resize_dynamic_table(struct ip_fw_chain *, int); + + struct tcphdr; + struct mbuf *ipfw_send_pkt(struct mbuf *, struct ipfw_flow_id *, +@@ -190,7 +194,7 @@ ipfw_dyn_rule *ipfw_lookup_dyn_rule(struct ipfw_flow_id *pkt, + void ipfw_remove_dyn_children(struct ip_fw *rule); + void ipfw_get_dynamic(struct ip_fw_chain *chain, char **bp, const char *ep); + +-void ipfw_dyn_init(struct ip_fw_chain *); /* per-vnet initialization */ ++void ipfw_dyn_init(void); /* per-vnet initialization */ + void ipfw_dyn_uninit(int); /* per-vnet deinitialization */ + int ipfw_dyn_len(void); + +@@ -201,9 +205,6 @@ VNET_DECLARE(int, fw_one_pass); + VNET_DECLARE(int, fw_verbose); + #define V_fw_verbose VNET(fw_verbose) + +-VNET_DECLARE(struct ip_fw_chain, layer3_chain); +-#define V_layer3_chain VNET(layer3_chain) +- + VNET_DECLARE(u_int32_t, set_disable); + #define V_set_disable VNET(set_disable) + +@@ -235,6 +236,33 @@ struct ip_fw_chain { + uint32_t gencnt; /* generation count */ + }; + ++struct ip_fw_ctx_iflist { ++ TAILQ_ENTRY(ip_fw_ctx_iflist) entry; ++ char ifname[IFNAMSIZ]; ++}; ++ ++#define IP_FW_MAXCTX 4096 ++struct ip_fw_contextes { ++ struct ip_fw_chain *chain[IP_FW_MAXCTX]; /* Arrays of contextes */ ++ TAILQ_HEAD(, ip_fw_ctx_iflist) iflist[IP_FW_MAXCTX]; ++ struct rwlock rwctx; ++ eventhandler_tag ifnet_arrival; ++}; ++ ++VNET_DECLARE(struct ip_fw_contextes, ip_fw_contexts); ++#define V_ip_fw_contexts VNET(ip_fw_contexts) ++ ++#define IPFW_CTX_LOCK_INIT() rw_init(&V_ip_fw_contexts.rwctx, "IPFW context") ++#define IPFW_CTX_LOCK_DESTROY() rw_destroy(&V_ip_fw_contexts.rwctx) ++#define IPFW_CTX_WLOCK() rw_wlock(&V_ip_fw_contexts.rwctx) ++#define IPFW_CTX_WUNLOCK() rw_wunlock(&V_ip_fw_contexts.rwctx) ++#define IPFW_CTX_RLOCK() rw_rlock(&V_ip_fw_contexts.rwctx) ++#define IPFW_CTX_RUNLOCK() rw_runlock(&V_ip_fw_contexts.rwctx) ++ ++void ipfw_attach_ifnet_event(void *, struct ifnet *); ++int ipfw_context_init(int); ++int ipfw_context_uninit(int); ++ + struct sockopt; /* used by tcp_var.h */ + + /* Macro for working with various counters */ +@@ -328,8 +356,9 @@ int ipfw_resize_tables(struct ip_fw_chain *ch, unsigned int ntables); + + extern struct cfg_nat *(*lookup_nat_ptr)(struct nat_list *, int); + +-typedef int ipfw_nat_t(struct ip_fw_args *, struct cfg_nat *, struct mbuf *); +-typedef int ipfw_nat_cfg_t(struct sockopt *); ++typedef int ipfw_nat_t(struct ip_fw_args *, struct cfg_nat *, struct mbuf *, ++ struct ip_fw_chain *); ++typedef int ipfw_nat_cfg_t(struct sockopt *, struct ip_fw_chain *); + + VNET_DECLARE(int, ipfw_nat_ready); + #define V_ipfw_nat_ready VNET(ipfw_nat_ready) +diff --git a/sys/netpfil/ipfw/ip_fw_sockopt.c b/sys/netpfil/ipfw/ip_fw_sockopt.c +index 38d7776..df5df51 100644 +--- a/sys/netpfil/ipfw/ip_fw_sockopt.c ++++ b/sys/netpfil/ipfw/ip_fw_sockopt.c +@@ -943,12 +943,15 @@ ipfw_ctl(struct sockopt *sopt) + #define RULE_MAXSIZE (256*sizeof(u_int32_t)) + int error; + size_t size, len, valsize; ++ struct ifnet *ifp; + struct ip_fw *buf, *rule; +- struct ip_fw_chain *chain; ++ static struct ip_fw_chain *chain; ++ struct ip_fw_ctx_iflist *tmpifl, *tmpifl2; ++ ip_fw3_opheader *op3 = NULL; + u_int32_t rulenum[2]; + uint32_t opt; + char xbuf[128]; +- ip_fw3_opheader *op3 = NULL; ++ char *ifname; + + error = priv_check(sopt->sopt_td, PRIV_NETINET_IPFW); + if (error) +@@ -965,7 +968,6 @@ ipfw_ctl(struct sockopt *sopt) + return (error); + } + +- chain = &V_layer3_chain; + error = 0; + + /* Save original valsize before it is altered via sooptcopyin() */ +@@ -980,9 +982,236 @@ ipfw_ctl(struct sockopt *sopt) + return (error); + op3 = (ip_fw3_opheader *)xbuf; + opt = op3->opcode; ++ ++ if (op3->ctxid > IP_FW_MAXCTX) ++ return (EINVAL); ++ ++ if (opt != IP_FW_CTX_GET) { ++ if (opt != IP_FW_CTX_ADD) { ++ if (op3->ctxid == 0) ++ return (ENOENT); ++ } ++ ++ chain = V_ip_fw_contexts.chain[op3->ctxid]; ++ } ++ } ++ ++ /* Verification needed to avoid problems */ ++ switch (opt) { ++ case IP_FW_CTX_GET: ++ case IP_FW_CTX_ADD: ++ case IP_FW_CTX_DEL: ++ break; ++ default: ++ if (chain == NULL) ++ return (EINVAL); ++ /* NOTREACHED */ + } + + switch (opt) { ++ case IP_FW_CTX_ADD: ++ IPFW_CTX_WLOCK(); ++ if (V_ip_fw_contexts.chain[op3->ctxid] != NULL) { ++ IPFW_CTX_WUNLOCK(); ++ return (EEXIST); ++ } ++ ++ chain = malloc(sizeof(struct ip_fw_chain), M_IPFW, M_WAITOK | M_ZERO); ++ TAILQ_INIT(&V_ip_fw_contexts.iflist[op3->ctxid]); ++ V_ip_fw_contexts.chain[op3->ctxid] = chain; ++ ipfw_context_init(op3->ctxid); /* XXX: error checking */ ++ IPFW_CTX_WUNLOCK(); ++ break; ++ ++ case IP_FW_CTX_DEL: ++ IPFW_CTX_WLOCK(); ++ if (V_ip_fw_contexts.chain[op3->ctxid] == NULL) { ++ IPFW_CTX_WUNLOCK(); ++ return (ENOENT); ++ } ++ ++ ipfw_context_uninit(op3->ctxid); ++ V_ip_fw_contexts.chain[op3->ctxid] = NULL; ++ IPFW_CTX_WUNLOCK(); ++ break; ++ ++ case IP_FW_CTX_GET: ++ { ++ int i, n, len = 0, want; ++ char *bufout, *tmpbuf; ++ ++ sopt->sopt_valsize = valsize; ++ ++ IPFW_CTX_RLOCK(); ++ for (i = 1; i < IP_FW_MAXCTX; i++) { ++ if (op3->ctxid > 0 && op3->ctxid != i) ++ continue; ++ if (op3->ctxid > 0 && op3->ctxid < i) ++ break; ++ ++ if (V_ip_fw_contexts.chain[i] == NULL) ++ continue; ++ ++ /* Calculate number of bytes for the integer */ ++ n = i; ++ while (n > 0) { ++ n /= 10; ++ len++; ++ } ++ TAILQ_FOREACH(tmpifl, &V_ip_fw_contexts.iflist[i], entry) { ++ len += strlen(tmpifl->ifname) + 1; ++ } ++ len += 3; // newline, :, space ++ } ++ IPFW_CTX_RUNLOCK(); ++ ++ if (len > sopt->sopt_valsize) { ++ sopt->sopt_valsize = len; ++ break; ++ } ++ ++ bufout = malloc(len, M_TEMP, M_WAITOK | M_ZERO); ++ if (bufout == NULL) ++ break; ++ ++ /* Record our size for later checks */ ++ want = len; ++ len = 0; ++ IPFW_CTX_RLOCK(); ++ /* Recalculate length to detect if smth changed */ ++ for (i = 1; i < IP_FW_MAXCTX; i++) { ++ if (op3->ctxid > 0 && op3->ctxid != i) ++ continue; ++ if (op3->ctxid > 0 && op3->ctxid < i) ++ break; ++ ++ if (V_ip_fw_contexts.chain[i] == NULL) ++ continue; ++ ++ /* Calculate number of bytes for the integer */ ++ n = i; ++ while (n > 0) { ++ n /= 10; ++ len++; ++ } ++ TAILQ_FOREACH(tmpifl, &V_ip_fw_contexts.iflist[i], entry) { ++ len += strlen(tmpifl->ifname) + 1; ++ } ++ len += 3; // newline, :, space ++ } ++ ++ if (want >= len) { ++ tmpbuf = bufout; ++ for (i = 1; i < IP_FW_MAXCTX; i++) { ++ if (op3->ctxid > 0 && op3->ctxid != i) ++ continue; ++ if (op3->ctxid > 0 && op3->ctxid < i) ++ break; ++ ++ if (V_ip_fw_contexts.chain[i] == NULL) ++ continue; ++ ++ sprintf(tmpbuf, "%d: ", i); ++ tmpbuf += strlen(tmpbuf); ++ TAILQ_FOREACH(tmpifl, &V_ip_fw_contexts.iflist[i], entry) { ++ sprintf(tmpbuf, "%s,", tmpifl->ifname); ++ tmpbuf += strlen(tmpifl->ifname) + 1; ++ } ++ sprintf(tmpbuf, "\n"); ++ tmpbuf++; ++ } ++ } ++ IPFW_CTX_RUNLOCK(); ++ ++ if (want >= len) ++ error = sooptcopyout(sopt, bufout, len); ++ else ++ len = 0; ++ free(bufout, M_TEMP); ++ } ++ break; ++ ++ case IP_FW_CTX_SET: ++ /* XXX: Maybe not use this option at all? */ ++ IPFW_CTX_RLOCK(); ++ if (V_ip_fw_contexts.chain[op3->ctxid] == NULL) ++ error = ENOENT; ++ else ++ chain = V_ip_fw_contexts.chain[op3->ctxid]; ++ IPFW_CTX_RUNLOCK(); ++ break; ++ ++ case IP_FW_CTX_ADDMEMBER: ++ { ++ int i; ++ ++ ifname = (char *)(op3 + 1); ++ ifp = ifunit(ifname); ++ if (ifp == NULL) ++ return (ENOENT); ++ ++ tmpifl = malloc(sizeof(*tmpifl), M_IPFW, M_WAITOK | M_ZERO); ++ ++ IPFW_CTX_WLOCK(); ++ if (V_ip_fw_contexts.chain[op3->ctxid] == NULL) { ++ IPFW_CTX_WUNLOCK(); ++ free(tmpifl, M_IPFW); ++ return (ENOENT); ++ } ++ ++ for (i = 1; i < IP_FW_MAXCTX; i++) { ++ if (V_ip_fw_contexts.chain[i] == NULL) ++ continue; ++ ++ TAILQ_FOREACH(tmpifl2, &V_ip_fw_contexts.iflist[i], entry) { ++ if (strlen(tmpifl2->ifname) != strlen(ifname)) ++ continue; ++ if (!strcmp(tmpifl2->ifname, ifname)) ++ goto ctxifacefound; ++ } ++ } ++ctxifacefound: ++ if (tmpifl2 != NULL) { ++ IPFW_CTX_WUNLOCK(); ++ free(tmpifl, M_IPFW); ++ return (EEXIST); ++ } ++ ++ strlcpy(tmpifl->ifname, ifname, IFNAMSIZ); ++ TAILQ_INSERT_HEAD(&V_ip_fw_contexts.iflist[op3->ctxid], tmpifl, entry); ++ ifp->if_ispare[0] = op3->ctxid; ++ IPFW_CTX_WUNLOCK(); ++ } ++ break; ++ ++ case IP_FW_CTX_DELMEMBER: ++ IPFW_CTX_WLOCK(); ++ if (V_ip_fw_contexts.chain[op3->ctxid] == NULL) { ++ IPFW_CTX_WUNLOCK(); ++ return (ENOENT); ++ } ++ ++ ifname = (char *)(op3 + 1); ++ TAILQ_FOREACH(tmpifl2, &V_ip_fw_contexts.iflist[op3->ctxid], entry) { ++ if (strlen(tmpifl2->ifname) != strlen(ifname)) ++ continue; ++ if (!strcmp(tmpifl2->ifname, ifname)) ++ break; ++ } ++ if (tmpifl2 == NULL) { ++ IPFW_CTX_WUNLOCK(); ++ return (ENOENT); ++ } ++ ++ TAILQ_REMOVE(&V_ip_fw_contexts.iflist[op3->ctxid], tmpifl2, entry); ++ IPFW_CTX_WUNLOCK(); ++ free(tmpifl2, M_IPFW); ++ ++ ifp = ifunit(ifname); ++ if (ifp != NULL) ++ ifp->if_ispare[0] = 0; ++ break; ++ + case IP_FW_GET: + /* + * pass up a copy of the current rules. Static rules +@@ -1321,7 +1550,7 @@ ipfw_ctl(struct sockopt *sopt) + /*--- NAT operations are protected by the IPFW_LOCK ---*/ + case IP_FW_NAT_CFG: + if (IPFW_NAT_LOADED) +- error = ipfw_nat_cfg_ptr(sopt); ++ error = ipfw_nat_cfg_ptr(sopt, chain); + else { + printf("IP_FW_NAT_CFG: %s\n", + "ipfw_nat not present, please load it"); +@@ -1331,7 +1560,7 @@ ipfw_ctl(struct sockopt *sopt) + + case IP_FW_NAT_DEL: + if (IPFW_NAT_LOADED) +- error = ipfw_nat_del_ptr(sopt); ++ error = ipfw_nat_del_ptr(sopt, chain); + else { + printf("IP_FW_NAT_DEL: %s\n", + "ipfw_nat not present, please load it"); +@@ -1341,7 +1570,7 @@ ipfw_ctl(struct sockopt *sopt) + + case IP_FW_NAT_GET_CONFIG: + if (IPFW_NAT_LOADED) +- error = ipfw_nat_get_cfg_ptr(sopt); ++ error = ipfw_nat_get_cfg_ptr(sopt, chain); + else { + printf("IP_FW_NAT_GET_CFG: %s\n", + "ipfw_nat not present, please load it"); +@@ -1351,7 +1580,7 @@ ipfw_ctl(struct sockopt *sopt) + + case IP_FW_NAT_GET_LOG: + if (IPFW_NAT_LOADED) +- error = ipfw_nat_get_log_ptr(sopt); ++ error = ipfw_nat_get_log_ptr(sopt, chain); + else { + printf("IP_FW_NAT_GET_LOG: %s\n", + "ipfw_nat not present, please load it"); +@@ -1368,6 +1597,33 @@ ipfw_ctl(struct sockopt *sopt) + #undef RULE_MAXSIZE + } + ++void ++ipfw_attach_ifnet_event(void *arg __unused, struct ifnet *ifp) ++{ ++ struct ip_fw_ctx_iflist *tmpifl; ++ ++ CURVNET_SET(ifp->if_vnet); ++ ++ IPFW_CTX_RLOCK(); ++ for (int i = 1; i < IP_FW_MAXCTX; i++) { ++ if (V_ip_fw_contexts.chain[i] == NULL) ++ continue; ++ TAILQ_FOREACH(tmpifl, &V_ip_fw_contexts.iflist[i], entry) { ++ if (strlen(tmpifl->ifname) != strlen(ifp->if_xname)) ++ continue; ++ if (!strcmp(tmpifl->ifname, ifp->if_xname)) { ++ printf("Restoring context for interface %s to %d\n", ifp->if_xname, i); ++ ifp->if_ispare[0] = i; ++ goto ifctxdone; ++ break; ++ } ++ } ++ } ++ifctxdone: ++ IPFW_CTX_RUNLOCK(); ++ ++ CURVNET_RESTORE(); ++} + + #define RULE_MAXSIZE (256*sizeof(u_int32_t)) + diff --git a/patches/RELENG_10_0/CP_speedup.diff b/patches/RELENG_10_0/CP_speedup.diff new file mode 100644 index 0000000..b1b4086 --- /dev/null +++ b/patches/RELENG_10_0/CP_speedup.diff @@ -0,0 +1,1074 @@ +diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c +index d13d3a8..5f48697 100644 +--- a/sbin/ipfw/ipfw2.c ++++ b/sbin/ipfw/ipfw2.c +@@ -4115,8 +4115,9 @@ ipfw_flush(int force) + } + + ++static void table_list_entry(ipfw_table_xentry *); + static void table_list(uint16_t num, int need_header); +-static void table_fill_xentry(char *arg, ipfw_table_xentry *xent); ++static void table_fill_xentry(int ac, char *av[], ipfw_table_xentry *xent); + + /* + * This one handles all table-related commands +@@ -4169,29 +4170,9 @@ ipfw_table_handler(int ac, char *av[]) + if (_substrcmp(*av, "add") == 0 || + _substrcmp(*av, "delete") == 0) { + do_add = **av == 'a'; +- ac--; av++; +- if (!ac) +- errx(EX_USAGE, "address required"); + +- table_fill_xentry(*av, &xent); ++ table_fill_xentry(ac, av, &xent); + +- ac--; av++; +- if (do_add && ac) { +- unsigned int tval; +- /* isdigit is a bit of a hack here.. */ +- if (strchr(*av, (int)'.') == NULL && isdigit(**av)) { +- xent.value = strtoul(*av, NULL, 0); +- } else { +- if (lookup_host(*av, (struct in_addr *)&tval) == 0) { +- /* The value must be stored in host order * +- * so that the values < 65k can be distinguished */ +- xent.value = ntohl(tval); +- } else { +- errx(EX_NOHOST, "hostname ``%s'' unknown", *av); +- } +- } +- } else +- xent.value = 0; + if (do_setcmd3(do_add ? IP_FW_TABLE_XADD : IP_FW_TABLE_XDEL, + &xent, xent.len) < 0) { + /* If running silent, don't bomb out on these errors. */ +@@ -4218,23 +4199,47 @@ ipfw_table_handler(int ac, char *av[]) + do { + table_list(xent.tbl, is_all); + } while (++xent.tbl < a); ++ } else if (_substrcmp(*av, "entrystats") == 0) { ++ table_fill_xentry(ac, av, &xent); ++ ++ if (do_setcmd3(IP_FW_TABLE_XLISTENTRY, &xent, xent.len) < 0) { ++ /* If running silent, don't bomb out on these errors. */ ++ if (!(co.do_quiet)) ++ err(EX_OSERR, "setsockopt(IP_FW_TABLE_XLISTENTRY)"); ++ } else ++ table_list_entry(&xent); ++ } else if (_substrcmp(*av, "entryzerostats") == 0) { ++ table_fill_xentry(ac, av, &xent); ++ ++ if (do_setcmd3(IP_FW_TABLE_XZEROENTRY, &xent, xent.len) < 0) { ++ /* If running silent, don't bomb out on these errors. */ ++ if (!(co.do_quiet)) ++ err(EX_OSERR, "setsockopt(IP_FW_TABLE_XZEROENTRY)"); ++ } + } else + errx(EX_USAGE, "invalid table command %s", *av); + } + + static void +-table_fill_xentry(char *arg, ipfw_table_xentry *xent) ++table_fill_xentry(int ac, char *av[], ipfw_table_xentry *xent) + { +- int addrlen, mask, masklen, type; ++ int addrlen, mask, masklen, type, do_add; + struct in6_addr *paddr; + uint32_t *pkey; +- char *p; ++ char *p, *arg; + uint32_t key; + ++ do_add = **av == 'a'; ++ ac--; av++; ++ if (!ac) ++ errx(EX_USAGE, "address required"); ++ + mask = 0; + type = 0; + addrlen = 0; + masklen = 0; ++ arg = *av; ++ ac--; av++; + + /* + * Let's try to guess type by agrument. +@@ -4245,7 +4250,18 @@ table_fill_xentry(char *arg, ipfw_table_xentry *xent) + * 4) port, uid/gid or other u32 key (base 10 format) + * 5) hostname + */ +- paddr = &xent->k.addr6; ++ if (ac > 1 && av) { ++ if (_substrcmp(*av, "mac") == 0) { ++ uint8_t _mask[8]; ++ ++ type = IPFW_TABLE_MIX; ++ get_mac_addr_mask(av[1], (uint8_t *)xent->k.mix.mac, _mask); ++ ac-=2; av+=2; ++ paddr = (struct in6_addr *)&xent->k.mix.addr; ++ } else ++ errx(EX_DATAERR, "wrong argument passed."); ++ } else ++ paddr = &xent->k.addr6; + if (ishexnumber(*arg) != 0 || *arg == ':') { + /* Remove / if exists */ + if ((p = strchr(arg, '/')) != NULL) { +@@ -4258,8 +4274,11 @@ table_fill_xentry(char *arg, ipfw_table_xentry *xent) + errx(EX_DATAERR, "bad IPv4 mask width: %s", + p + 1); + +- type = IPFW_TABLE_CIDR; +- masklen = p ? mask : 32; ++ if (type == 0) { ++ type = IPFW_TABLE_CIDR; ++ masklen = p ? mask : 32; ++ } else ++ masklen = 32; + addrlen = sizeof(struct in_addr); + } else if (inet_pton(AF_INET6, arg, paddr) == 1) { + if (IN6_IS_ADDR_V4COMPAT(paddr)) +@@ -4269,10 +4288,16 @@ table_fill_xentry(char *arg, ipfw_table_xentry *xent) + errx(EX_DATAERR, "bad IPv6 mask width: %s", + p + 1); + +- type = IPFW_TABLE_CIDR; +- masklen = p ? mask : 128; ++ if (type == 0) { ++ type = IPFW_TABLE_CIDR; ++ masklen = p ? mask : 128; ++ } else ++ masklen = 128; + addrlen = sizeof(struct in6_addr); + } else { ++ if (type != 0) ++ errx(EX_DATAERR, "Wrong value passed as address"); ++ + /* Port or any other key */ + key = strtol(arg, &p, 10); + /* Skip non-base 10 entries like 'fa1' */ +@@ -4304,9 +4329,91 @@ table_fill_xentry(char *arg, ipfw_table_xentry *xent) + addrlen = sizeof(struct in_addr); + } + ++ if (do_add && ac) { ++ unsigned int tval; ++ /* isdigit is a bit of a hack here.. */ ++ if (strchr(*av, (int)'.') == NULL && isdigit(**av)) { ++ xent->value = strtoul(*av, NULL, 0); ++ } else { ++ if (lookup_host(*av, (struct in_addr *)&tval) == 0) { ++ /* The value must be stored in host order * ++ * so that the values < 65k can be distinguished */ ++ xent->value = ntohl(tval); ++ } else { ++ errx(EX_NOHOST, "hostname ``%s'' unknown", *av); ++ } ++ } ++ } else ++ xent->value = 0; ++ + xent->type = type; + xent->masklen = masklen; +- xent->len = offsetof(ipfw_table_xentry, k) + addrlen; ++ if (IPFW_TABLE_MIX) ++ xent->len = offsetof(ipfw_table_xentry, k) + addrlen + ETHER_ADDR_LEN; ++ else ++ xent->len = offsetof(ipfw_table_xentry, k) + addrlen; ++} ++ ++static void ++table_list_entry(ipfw_table_xentry *xent) ++{ ++ struct in6_addr *addr6; ++ uint32_t tval; ++ char tbuf[128]; ++ ++ switch (xent->type) { ++ case IPFW_TABLE_CIDR: ++ /* IPv4 or IPv6 prefixes */ ++ tval = xent->value; ++ addr6 = &xent->k.addr6; ++ ++ ++ if (IN6_IS_ADDR_V4COMPAT(addr6)) { ++ /* IPv4 address */ ++ inet_ntop(AF_INET, &addr6->s6_addr32[3], tbuf, sizeof(tbuf)); ++ } else { ++ /* IPv6 address */ ++ inet_ntop(AF_INET6, addr6, tbuf, sizeof(tbuf)); ++ } ++ ++ if (co.do_value_as_ip) { ++ tval = htonl(tval); ++ printf("%s/%u %s %d %d %u\n", tbuf, xent->masklen, ++ inet_ntoa(*(struct in_addr *)&tval), pr_u64(&xent->packets, 0), pr_u64(&xent->bytes, 0), xent->timestamp); ++ } else ++ printf("%s/%u %u %d %d %u\n", tbuf, xent->masklen, tval, ++ pr_u64(&xent->packets, 0), pr_u64(&xent->bytes, 0), xent->timestamp); ++ break; ++ case IPFW_TABLE_INTERFACE: ++ /* Interface names */ ++ tval = xent->value; ++ if (co.do_value_as_ip) { ++ tval = htonl(tval); ++ printf("%s %u %s %d %d %u\n", xent->k.iface, xent->masklen, ++ inet_ntoa(*(struct in_addr *)&tval), pr_u64(&xent->packets, 0), pr_u64(&xent->bytes, 0), xent->timestamp); ++ } else ++ printf("%s %u %u %d %d %u\n", xent->k.iface, xent->masklen, tval, ++ pr_u64(&xent->packets, 0), pr_u64(&xent->bytes, 0), xent->timestamp); ++ ++ break; ++ ++ case IPFW_TABLE_MIX: ++ /* mix of ip+mac */ ++ tval = xent->value; ++ ++ /* IPv4 address */ ++ inet_ntop(AF_INET, &xent->k.mix.addr, tbuf, sizeof(tbuf)); ++ ++ if (co.do_value_as_ip) { ++ tval = htonl(tval); ++ printf("%s/%u %s %s %d %d %u\n", tbuf, xent->masklen - (8 * ETHER_ADDR_LEN), ether_ntoa((struct ether_addr *)xent->k.mix.mac), ++ inet_ntoa(*(struct in_addr *)&tval), ++ pr_u64(&xent->packets, 0), pr_u64(&xent->bytes, 0), xent->timestamp); ++ } else ++ printf("%s/%u %s %u %d %d %u\n", tbuf, xent->masklen - (8 * ETHER_ADDR_LEN), ether_ntoa((struct ether_addr *)xent->k.mix.mac), tval, ++ pr_u64(&xent->packets, 0), pr_u64(&xent->bytes, 0), xent->timestamp); ++ break; ++ } + } + + static void +@@ -4338,6 +4445,7 @@ table_list(uint16_t num, int need_header) + l = *a; + tbl = safe_calloc(1, l); + tbl->opheader.opcode = IP_FW_TABLE_XLIST; ++ tbl->opheader.ctxid = co.ctx; + tbl->tbl = num; + if (do_cmd(IP_FW3, tbl, (uintptr_t)&l) < 0) + err(EX_OSERR, "getsockopt(IP_FW_TABLE_XLIST)"); +@@ -4377,6 +4485,23 @@ table_list(uint16_t num, int need_header) + inet_ntoa(*(struct in_addr *)&tval)); + } else + printf("%s %u\n", xent->k.iface, tval); ++ ++ break; ++ ++ case IPFW_TABLE_MIX: ++ /* mix of ip+mac */ ++ tval = xent->value; ++ ++ /* IPv4 address */ ++ inet_ntop(AF_INET, &xent->k.mix.addr, tbuf, sizeof(tbuf)); ++ ++ if (co.do_value_as_ip) { ++ tval = htonl(tval); ++ printf("%s/%u %s %s\n", tbuf, xent->masklen - (8 * ETHER_ADDR_LEN), ether_ntoa((struct ether_addr *)xent->k.mix.mac), ++ inet_ntoa(*(struct in_addr *)&tval)); ++ } else ++ printf("%s/%u %s %u\n", tbuf, xent->masklen - (8 * ETHER_ADDR_LEN), ether_ntoa((struct ether_addr *)xent->k.mix.mac), tval); ++ break; + } + + if (sz < xent->len) +diff --git a/sys/netinet/ip_fw.h b/sys/netinet/ip_fw.h +index dbf4890..5ec8969 100644 +--- a/sys/netinet/ip_fw.h ++++ b/sys/netinet/ip_fw.h +@@ -74,6 +74,8 @@ typedef struct _ip_fw3_opheader { + #define IP_FW_TABLE_XDEL 87 /* delete entry */ + #define IP_FW_TABLE_XGETSIZE 88 /* get table size */ + #define IP_FW_TABLE_XLIST 89 /* list table contents */ ++#define IP_FW_TABLE_XLISTENTRY 90 /* list one table entry contents */ ++#define IP_FW_TABLE_XZEROENTRY 91 /* zero one table entry stats */ + + /* + * The kernel representation of ipfw rules is made of a list of +@@ -600,7 +602,9 @@ struct _ipfw_dyn_rule { + + #define IPFW_TABLE_CIDR 1 /* Table for holding IPv4/IPv6 prefixes */ + #define IPFW_TABLE_INTERFACE 2 /* Table for holding interface names */ +-#define IPFW_TABLE_MAXTYPE 2 /* Maximum valid number */ ++#define IPFW_TABLE_MIX 3 /* Table for holding IPv4/mac entries */ ++#define IPFW_TABLE_MAC 4 /* Table for holding mac entries */ ++#define IPFW_TABLE_MAXTYPE 5 /* Maximum valid number */ + + typedef struct _ipfw_table_entry { + in_addr_t addr; /* network address */ +@@ -617,9 +621,25 @@ typedef struct _ipfw_table_xentry { + uint32_t value; /* value */ + union { + /* Longest field needs to be aligned by 4-byte boundary */ ++#ifndef ETHER_ADDR_LEN ++#define ETHER_ADDR_LEN 6 ++#endif ++#if 0 ++ struct { ++ struct ether_addr addr; ++ struct ether_addr mask; ++ } mac; ++#endif ++ struct { ++ struct in_addr addr; ++ u_char mac[ETHER_ADDR_LEN]; ++ } mix; + struct in6_addr addr6; /* IPv6 address */ + char iface[IF_NAMESIZE]; /* interface name */ + } k; ++ uint64_t bytes; ++ uint64_t packets; ++ uint32_t timestamp; + } ipfw_table_xentry; + + typedef struct _ipfw_table { +diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c +index d26a1fd..b8605a5 100644 +--- a/sys/netpfil/ipfw/ip_fw2.c ++++ b/sys/netpfil/ipfw/ip_fw2.c +@@ -357,8 +357,8 @@ iface_match(struct ifnet *ifp, ipfw_insn_if *cmd, struct ip_fw_chain *chain, uin + /* Check by name or by IP address */ + if (cmd->name[0] != '\0') { /* match by name */ + if (cmd->name[0] == '\1') /* use tablearg to match */ +- return ipfw_lookup_table_extended(chain, cmd->p.glob, +- ifp->if_xname, tablearg, IPFW_TABLE_INTERFACE); ++ return (ipfw_lookup_table_extended(chain, cmd->p.glob, ++ ifp->if_xname, tablearg, IPFW_TABLE_INTERFACE) != NULL); + /* Check name */ + if (cmd->p.glob) { + if (fnmatch(cmd->name, ifp->if_xname, 0) == 0) +@@ -954,6 +954,7 @@ ipfw_chk(struct ip_fw_args *args) + int dyn_dir = MATCH_UNKNOWN; + ipfw_dyn_rule *q = NULL; + struct ip_fw_chain *chain = &V_layer3_chain; ++ void *tblent = NULL; + + /* + * We store in ulp a pointer to the upper layer protocol header. +@@ -1287,6 +1288,7 @@ do { \ + continue; + + skip_or = 0; ++ tblent = NULL; + for (l = f->cmd_len, cmd = f->cmd ; l > 0 ; + l -= cmdlen, cmd += cmdlen) { + int match; +@@ -1401,7 +1403,7 @@ do { \ + break; + + case O_IN: /* "out" is "not in" */ +- match = (oif == NULL); ++ match = (args->dir == DIR_IN); + break; + + case O_LAYER2: +@@ -1436,7 +1438,35 @@ do { \ + + case O_IP_SRC_LOOKUP: + case O_IP_DST_LOOKUP: +- if (is_ipv4) { ++ if (args->eh) { ++ struct { ++ struct in_addr addr; ++ char *mac; ++ } mix; ++ void *pkey = &mix; ++ uint32_t v = 0; ++ ++ if (is_ipv4) { ++ mix.addr.s_addr = (cmd->opcode == O_IP_DST_LOOKUP) ? ++ dst_ip.s_addr : src_ip.s_addr; ++ memcpy(mix.mac,(cmd->opcode == O_IP_DST_LOOKUP) ? ++ args->eh->ether_dhost : ++ args->eh->ether_shost, ETHER_ADDR_LEN); ++ tblent = ipfw_lookup_table_extended(chain, ++ cmd->arg1, pkey, &v, ++ IPFW_TABLE_MIX); ++ if (tblent == NULL) { ++ match = 0; ++ break; ++ } else ++ match = 1; ++ if (cmdlen == F_INSN_SIZE(ipfw_insn_u32)) ++ match = ((ipfw_insn_u32 *)cmd)->d[0] == v; ++ if (match) ++ tablearg = v; ++ ++ } ++ } else if (is_ipv4) { + uint32_t key = + (cmd->opcode == O_IP_DST_LOOKUP) ? + dst_ip.s_addr : src_ip.s_addr; +@@ -1496,9 +1526,9 @@ do { \ + uint32_t v = 0; + void *pkey = (cmd->opcode == O_IP_DST_LOOKUP) ? + &args->f_id.dst_ip6: &args->f_id.src_ip6; +- match = ipfw_lookup_table_extended(chain, ++ match = (ipfw_lookup_table_extended(chain, + cmd->arg1, pkey, &v, +- IPFW_TABLE_CIDR); ++ IPFW_TABLE_CIDR) != NULL); + if (cmdlen == F_INSN_SIZE(ipfw_insn_u32)) + match = ((ipfw_insn_u32 *)cmd)->d[0] == v; + if (match) +@@ -2313,8 +2343,7 @@ do { \ + break; + + case O_FORWARD_IP: +- if (args->eh) /* not valid on layer2 pkts */ +- break; ++ if (!args->eh) {/* not valid on layer2 pkts */ + if (q == NULL || q->rule != f || + dyn_dir == MATCH_FORWARD) { + struct sockaddr_in *sa; +@@ -2329,6 +2358,48 @@ do { \ + args->next_hop = sa; + } + } ++ } else if (args->eh) { ++ struct m_tag *fwd_tag; ++ struct sockaddr_in *sa; ++ u_short sum; ++ ++ /* ++ * Checksum correct? (from ip_fastfwd.c) ++ */ ++ if (m->m_pkthdr.csum_flags & CSUM_IP_CHECKED) ++ sum = !(m->m_pkthdr.csum_flags & CSUM_IP_VALID); ++ else { ++ if (hlen == sizeof(struct ip)) ++ sum = in_cksum_hdr(ip); ++ else ++ sum = in_cksum(m, hlen); ++ } ++ if (sum) { ++ IPSTAT_INC(ips_badsum); ++ retval = IP_FW_DENY; ++ break; ++ } ++ ++ /* ++ * Remember that we have checked the IP header and found it valid. ++ */ ++ m->m_pkthdr.csum_flags |= (CSUM_IP_CHECKED | CSUM_IP_VALID); ++ ++ sa = &(((ipfw_insn_sa *)cmd)->sa); ++ fwd_tag = m_tag_get(PACKET_TAG_IPFORWARD, ++ sizeof(struct sockaddr_in), M_NOWAIT); ++ if (fwd_tag == NULL) ++ retval = IP_FW_DENY; ++ else { ++ bcopy(sa, (fwd_tag+1), sizeof(struct sockaddr_in)); ++ m_tag_prepend(m, fwd_tag); ++ ++ if (in_localip(sa->sin_addr)) ++ m->m_flags |= M_FASTFWD_OURS; ++ m->m_flags |= M_IP_NEXTHOP; ++ } ++ } ++ + retval = IP_FW_PASS; + l = 0; /* exit inner loop */ + done = 1; /* exit outer loop */ +@@ -2336,8 +2407,7 @@ do { \ + + #ifdef INET6 + case O_FORWARD_IP6: +- if (args->eh) /* not valid on layer2 pkts */ +- break; ++ if (args->eh) { /* not valid on layer2 pkts */ + if (q == NULL || q->rule != f || + dyn_dir == MATCH_FORWARD) { + struct sockaddr_in6 *sin6; +@@ -2345,6 +2415,24 @@ do { \ + sin6 = &(((ipfw_insn_sa6 *)cmd)->sa); + args->next_hop6 = sin6; + } ++ } else if (args->eh) { ++ struct m_tag *fwd_tag; ++ struct sockaddr_in6 *sin6; ++ ++ sin6 = &(((ipfw_insn_sa6 *)cmd)->sa); ++ fwd_tag = m_tag_get(PACKET_TAG_IPFORWARD, ++ sizeof(struct sockaddr_in6), M_NOWAIT); ++ if (fwd_tag == NULL) ++ retval = IP_FW_DENY; ++ else { ++ bcopy(sin6, (fwd_tag+1), sizeof(struct sockaddr_in6)); ++ m_tag_prepend(m, fwd_tag); ++ ++ if (in6_localip(&sin6->sin6_addr)) ++ m->m_flags |= M_FASTFWD_OURS; ++ m->m_flags |= M_IP6_NEXTHOP; ++ } ++ } + retval = IP_FW_PASS; + l = 0; /* exit inner loop */ + done = 1; /* exit outer loop */ +@@ -2504,6 +2592,8 @@ do { \ + struct ip_fw *rule = chain->map[f_pos]; + /* Update statistics */ + IPFW_INC_RULE_COUNTER(rule, pktlen); ++ if (tblent != NULL) ++ ipfw_count_table_xentry_stats(tblent, pktlen); + } else { + retval = IP_FW_DENY; + printf("ipfw: ouch!, skip past end of rules, denying packet\n"); +diff --git a/sys/netpfil/ipfw/ip_fw_pfil.c b/sys/netpfil/ipfw/ip_fw_pfil.c +index 3caa41b..cdbcf9f 100644 +--- a/sys/netpfil/ipfw/ip_fw_pfil.c ++++ b/sys/netpfil/ipfw/ip_fw_pfil.c +@@ -143,8 +143,9 @@ again: + } + + args.m = *m0; +- args.oif = dir == DIR_OUT ? ifp : NULL; ++ args.oif = ifp; + args.inp = inp; ++ args.dir = dir; + + ipfw = ipfw_chk(&args); + *m0 = args.m; +@@ -314,9 +315,8 @@ ipfw_check_frame(void *arg, struct mbuf **m0, struct ifnet *dst, int dir, + /* XXX can we free it after use ? */ + mtag->m_tag_id = PACKET_TAG_NONE; + r = (struct ipfw_rule_ref *)(mtag + 1); +- if (r->info & IPFW_ONEPASS) +- return (0); +- args.rule = *r; ++ m_tag_delete(*m0, mtag); ++ return (0); + } + + /* I need some amt of data to be contiguous */ +@@ -333,12 +333,15 @@ ipfw_check_frame(void *arg, struct mbuf **m0, struct ifnet *dst, int dir, + save_eh = *eh; /* save copy for restore below */ + m_adj(m, ETHER_HDR_LEN); /* strip ethernet header */ + ++ dir = dir == PFIL_IN ? DIR_IN : DIR_OUT; ++ + args.m = m; /* the packet we are looking at */ + args.oif = dst; /* destination, if any */ + args.next_hop = NULL; /* we do not support forward yet */ + args.next_hop6 = NULL; /* we do not support forward yet */ + args.eh = &save_eh; /* MAC header for bridged/MAC packets */ + args.inp = NULL; /* used by ipfw uid/gid/jail rules */ ++ args.dir = dir; /* pfSense addition */ + i = ipfw_chk(&args); + m = args.m; + if (m != NULL) { +@@ -369,13 +372,12 @@ ipfw_check_frame(void *arg, struct mbuf **m0, struct ifnet *dst, int dir, + + case IP_FW_DUMMYNET: + ret = EACCES; +- int dir; + + if (ip_dn_io_ptr == NULL) + break; /* i.e. drop */ + + *m0 = NULL; +- dir = PROTO_LAYER2 | (dst ? DIR_OUT : DIR_IN); ++ dir = PROTO_LAYER2 | dir; + ip_dn_io_ptr(&m, dir, &args); + return 0; + +diff --git a/sys/netpfil/ipfw/ip_fw_private.h b/sys/netpfil/ipfw/ip_fw_private.h +index 2f74900..0d749c5 100644 +--- a/sys/netpfil/ipfw/ip_fw_private.h ++++ b/sys/netpfil/ipfw/ip_fw_private.h +@@ -101,6 +101,7 @@ struct ip_fw_args { + + struct ipfw_flow_id f_id; /* grabbed from IP header */ + //uint32_t cookie; /* a cookie depending on rule action */ ++ uint32_t dir; /* direction */ + struct inpcb *inp; + + struct _ip6dn_args dummypar; /* dummynet->ip6_output */ +@@ -304,8 +305,11 @@ void ipfw_reap_rules(struct ip_fw *head); + struct radix_node; + int ipfw_lookup_table(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr, + uint32_t *val); +-int ipfw_lookup_table_extended(struct ip_fw_chain *ch, uint16_t tbl, void *paddr, ++void *ipfw_lookup_table_extended(struct ip_fw_chain *ch, uint16_t tbl, void *paddr, + uint32_t *val, int type); ++void ipfw_count_table_xentry_stats(void *, int); ++int ipfw_zero_table_xentry_stats(struct ip_fw_chain *, ipfw_table_xentry *); ++int ipfw_lookup_table_xentry(struct ip_fw_chain *, ipfw_table_xentry *); + int ipfw_init_tables(struct ip_fw_chain *ch); + void ipfw_destroy_tables(struct ip_fw_chain *ch); + int ipfw_flush_table(struct ip_fw_chain *ch, uint16_t tbl); +diff --git a/sys/netpfil/ipfw/ip_fw_sockopt.c b/sys/netpfil/ipfw/ip_fw_sockopt.c +index 79866f6..38d7776 100644 +--- a/sys/netpfil/ipfw/ip_fw_sockopt.c ++++ b/sys/netpfil/ipfw/ip_fw_sockopt.c +@@ -1241,6 +1241,47 @@ ipfw_ctl(struct sockopt *sopt) + } + break; + ++ case IP_FW_TABLE_XZEROENTRY: /* IP_FW3 */ ++ { ++ ipfw_table_xentry *xent = (ipfw_table_xentry *)(op3 + 1); ++ ++ /* Check minimum header size */ ++ if (IP_FW3_OPLENGTH(sopt) < offsetof(ipfw_table_xentry, k)) { ++ error = EINVAL; ++ break; ++ } ++ ++ /* Check if len field is valid */ ++ if (xent->len > sizeof(ipfw_table_xentry)) { ++ error = EINVAL; ++ break; ++ } ++ ++ error = ipfw_zero_table_xentry_stats(chain, xent); ++ } ++ break; ++ ++ case IP_FW_TABLE_XLISTENTRY: /* IP_FW3 */ ++ { ++ ipfw_table_xentry *xent = (ipfw_table_xentry *)(op3 + 1); ++ ++ /* Check minimum header size */ ++ if (IP_FW3_OPLENGTH(sopt) < offsetof(ipfw_table_xentry, k)) { ++ error = EINVAL; ++ break; ++ } ++ ++ /* Check if len field is valid */ ++ if (xent->len > sizeof(ipfw_table_xentry)) { ++ error = EINVAL; ++ break; ++ } ++ ++ error = ipfw_lookup_table_xentry(chain, xent); ++ xent->timestamp += boottime.tv_sec; ++ } ++ break; ++ + case IP_FW_TABLE_XLIST: /* IP_FW3 */ + { + ipfw_xtable *tbl; +diff --git a/sys/netpfil/ipfw/ip_fw_table.c b/sys/netpfil/ipfw/ip_fw_table.c +index 6035b36..b776b45 100644 +--- a/sys/netpfil/ipfw/ip_fw_table.c ++++ b/sys/netpfil/ipfw/ip_fw_table.c +@@ -75,6 +75,9 @@ struct table_entry { + struct radix_node rn[2]; + struct sockaddr_in addr, mask; + u_int32_t value; ++ u_int32_t timestamp; ++ u_int64_t bytes; ++ u_int64_t packets; + }; + + struct xaddr_iface { +@@ -83,6 +86,22 @@ struct xaddr_iface { + char ifname[IF_NAMESIZE]; /* Interface name */ + }; + ++#if 0 ++struct xaddr_mac { ++ uint8_t mac_len; /* length of this struct */ ++ uint8_t pad[7]; /* Align name */ ++ struct ether_addr mac; ++}; ++#endif ++ ++struct xaddr_mix { ++ uint8_t mix_len; /* length of this struct */ ++ sa_family_t sin_family; ++ uint8_t pad[6]; ++ struct in_addr sin_addr; ++ u_char mac[ETHER_ADDR_LEN]; ++}; ++ + struct table_xentry { + struct radix_node rn[2]; + union { +@@ -90,14 +109,25 @@ struct table_xentry { + struct sockaddr_in6 addr6; + #endif + struct xaddr_iface iface; ++#if 0 ++ struct xaddr_mac mac; ++#endif ++ struct xaddr_mix mix; + } a; + union { + #ifdef INET6 + struct sockaddr_in6 mask6; + #endif + struct xaddr_iface ifmask; ++#if 0 ++ struct xaddr_mac macmask; ++#endif ++ struct xaddr_mix mixmask; + } m; + u_int32_t value; ++ u_int32_t timestamp; ++ u_int64_t bytes; ++ u_int64_t packets; + }; + + /* +@@ -117,10 +147,17 @@ struct table_xentry { + #define KEY_LEN_INET (offsetof(struct sockaddr_in, sin_addr) + sizeof(in_addr_t)) + #define KEY_LEN_INET6 (offsetof(struct sockaddr_in6, sin6_addr) + sizeof(struct in6_addr)) + #define KEY_LEN_IFACE (offsetof(struct xaddr_iface, ifname)) ++#define KEY_LEN_MIX (offsetof(struct xaddr_mix, sin_addr) + sizeof(in_addr_t) + ETHER_ADDR_LEN) ++#if 0 ++#define KEY_LEN_MAC (offsetof(struct xaddr_mac, mac) + ETHER_ADDR_LEN) ++#endif + + #define OFF_LEN_INET (8 * offsetof(struct sockaddr_in, sin_addr)) + #define OFF_LEN_INET6 (8 * offsetof(struct sockaddr_in6, sin6_addr)) + #define OFF_LEN_IFACE (8 * offsetof(struct xaddr_iface, ifname)) ++#if 0 ++#define OFF_LEN_MAC (8 * offsetof(struct xaddr_mac, mac)) ++#endif + + + static inline void +@@ -231,6 +268,52 @@ ipfw_add_table_entry(struct ip_fw_chain *ch, uint16_t tbl, void *paddr, + mask_ptr = NULL; + break; + ++#if 0 ++ case IPFW_TABLE_MAC: ++ int i; ++ ++ xent = malloc(sizeof(*xent), M_IPFW_TBL, M_WAITOK | M_ZERO); ++ xent->value = value; ++ /* Set 'total' structure length */ ++ KEY_LEN(xent->a.mac) = KEY_LEN_MAC; ++ KEY_LEN(xent->m.macmask) = KEY_LEN_MAC; ++ /* Set offset of address in bits */ ++ offset = OFF_LEN_MAC; ++ xent->a.mac = (struct ether_addr)(*paddr); ++ xent->m.mac = (struct ether_addr)(*(((struct ether_addr *)paddr) + 1)); ++ for (i = 0; i < ETHER_ADDR_LEN; i++) ++ xent->a.mac.octet[i] &= xent->m.mac.octet[i]; ++ /* Set pointers */ ++ rnh_ptr = &ch->xtables[tbl]; ++ ent_ptr = xent; ++ addr_ptr = (struct sockaddr *)&xent->a.mac; ++ mask_ptr = (struct sockaddr *)&xent->m.macmask; ++ break; ++#endif ++ ++ case IPFW_TABLE_MIX: ++ if ((plen - ETHER_ADDR_LEN) != sizeof(in_addr_t)) ++ return (EINVAL); ++ ++ xent = malloc(sizeof(*xent), M_IPFW_TBL, M_WAITOK | M_ZERO); ++ xent->value = value; ++ /* Set 'total' structure length */ ++ KEY_LEN(xent->a.mix) = KEY_LEN_MIX; ++ KEY_LEN(xent->m.mixmask) = KEY_LEN_MIX; ++ /* Set offset of IPv4 address in bits */ ++ offset = OFF_LEN_INET; ++ /* XXX: Needs to be fixed */ ++ memcpy(&xent->a.mix.sin_addr, paddr, ETHER_ADDR_LEN + sizeof(struct in_addr)); ++ /* Only full ips /32 and full masks supported for mac */ ++ memset(&xent->m.mixmask.sin_addr, 0xFF, sizeof(struct in_addr)); ++ memset(xent->m.mixmask.mac, 0xFF, ETHER_ADDR_LEN); ++ /* Set pointers */ ++ rnh_ptr = &ch->xtables[tbl]; ++ ent_ptr = xent; ++ addr_ptr = (struct sockaddr *)&xent->a.mix; ++ mask_ptr = NULL; ++ break; ++ + default: + return (EINVAL); + } +@@ -365,6 +448,41 @@ ipfw_del_table_entry(struct ip_fw_chain *ch, uint16_t tbl, void *paddr, + + break; + ++#if 0 ++ case IPFW_TABLE_MAC: ++ struct xaddr_mac mac, macmask; ++ memset(&mac, 0, sizeof(mac)); ++ memset(&macmask, 0, sizeof(macmask)); ++ ++ /* Set 'total' structure length */ ++ KEY_LEN(mac) = KEY_LEN_MAC; ++ mac.mac.mac = (struct ether_addr)(*paddr); ++ KEY_LEN(macmask) = KEY_LEN_MAC; ++ macmask.mac.macmask = (struct ether_addr)(*(((struct ether_addr *)paddr) + 1)); ++ for (i = 0; i < ETHER_ADDR_LEN; i++) ++ mac.mac.octet[i] &= macmask.mac.octet[i]; ++ rnh_ptr = &ch->xtables[tbl]; ++ sa_ptr = (struct sockaddr *)&mac; ++ mask_ptr = (struct sockaddr *)&macmask; ++ ++ break; ++#endif ++ ++ case IPFW_TABLE_MIX: ++ if (mlen > (32 + ETHER_ADDR_LEN)) ++ return (EINVAL); ++ struct xaddr_mix mix; ++ memset(&mix, 0, sizeof(mix)); ++ ++ /* Set 'total' structure length */ ++ KEY_LEN(mix) = KEY_LEN_MIX; ++ memcpy(&mix.sin_addr, paddr, sizeof(struct in_addr) + ETHER_ADDR_LEN); ++ rnh_ptr = &ch->xtables[tbl]; ++ sa_ptr = (struct sockaddr *)&mix; ++ mask_ptr = NULL; ++ ++ break; ++ + default: + return (EINVAL); + } +@@ -550,7 +668,150 @@ ipfw_lookup_table(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr, + return (0); + } + ++void ++ipfw_count_table_xentry_stats(void *arg, int pktlen) ++{ ++ ipfw_table_xentry *xent= arg; ++ ++ xent->packets++; ++ xent->bytes += pktlen; ++ xent->timestamp = time_uptime; ++} ++ + int ++ipfw_zero_table_xentry_stats(struct ip_fw_chain *ch, ipfw_table_xentry *arg) ++{ ++ struct radix_node_head *rnh; ++ struct table_xentry *xent; ++ struct sockaddr_in6 sa6; ++ struct xaddr_iface iface; ++ struct xaddr_mix xm; ++ ++ if (arg->tbl >= V_fw_tables_max) ++ return (0); ++ if ((rnh = ch->xtables[arg->tbl]) == NULL) ++ return (0); ++ ++ switch (arg->type) { ++ case IPFW_TABLE_CIDR: ++ KEY_LEN(sa6) = KEY_LEN_INET6; ++ memcpy(&sa6.sin6_addr, &arg->k.addr6, sizeof(struct in6_addr)); ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&sa6, NULL, rnh)); ++ break; ++ ++ case IPFW_TABLE_INTERFACE: ++ KEY_LEN(iface) = KEY_LEN_IFACE + ++ strlcpy(iface.ifname, arg->k.iface, IF_NAMESIZE) + 1; ++ /* Assume direct match */ ++ /* FIXME: Add interface pattern matching */ ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&iface, NULL, rnh)); ++ break; ++ ++#if 0 ++ case IPFW_TABLE_MAC: ++ { ++ struct xaddr_mac mac; ++ ++ KEY_LEN(mac) = KEY_LEN_MAC; ++ &mac.mac = arg->k.mac; ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&mac, NULL, rnh)); ++ } ++ break; ++#endif ++ ++ case IPFW_TABLE_MIX: ++ KEY_LEN(xm) = KEY_LEN_MIX; ++ memcpy(&xm.sin_addr, &arg->k.mix.addr, sizeof(struct in_addr)); ++ memcpy(&xm.mac, arg->k.mix.mac, ETHER_ADDR_LEN); ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&xm, NULL, rnh)); ++ break; ++ ++ default: ++ return (0); ++ } ++ ++ if (xent != NULL) { ++ xent->bytes = 0; ++ xent->packets = 0; ++ xent->timestamp = time_uptime; ++ ++ return (1); ++ } ++ return (0); ++} ++ ++int ++ipfw_lookup_table_xentry(struct ip_fw_chain *ch, ipfw_table_xentry *arg) ++{ ++ struct radix_node_head *rnh; ++ struct table_xentry *xent; ++ ++ if (arg->tbl >= V_fw_tables_max) ++ return (0); ++ if ((rnh = ch->xtables[arg->tbl]) == NULL) ++ return (0); ++ ++ switch (arg->type) { ++ case IPFW_TABLE_CIDR: ++ { ++ struct sockaddr_in6 sa6; ++ KEY_LEN(sa6) = KEY_LEN_INET6; ++ memcpy(&sa6.sin6_addr, &arg->k.addr6, sizeof(struct in6_addr)); ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&sa6, NULL, rnh)); ++ } ++ break; ++ ++ case IPFW_TABLE_INTERFACE: ++ { ++ struct xaddr_iface iface; ++ ++ KEY_LEN(iface) = KEY_LEN_IFACE + ++ strlcpy(iface.ifname, arg->k.iface, IF_NAMESIZE) + 1; ++ /* Assume direct match */ ++ /* FIXME: Add interface pattern matching */ ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&iface, NULL, rnh)); ++ } ++ break; ++ ++#if 0 ++ case IPFW_TABLE_MAC: ++ { ++ struct xaddr_mac mac; ++ ++ KEY_LEN(mac) = KEY_LEN_MAC; ++ mac.mac = arg->k.mac.addr; ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&mac, NULL, rnh)); ++ } ++ break; ++#endif ++ ++ case IPFW_TABLE_MIX: ++ { ++ struct xaddr_mix xm; ++ ++ KEY_LEN(xm) = KEY_LEN_MIX; ++ memcpy(&xm.sin_addr, &arg->k.mix.addr, sizeof(struct in_addr)); ++ memcpy(&xm.mac, arg->k.mix.mac, ETHER_ADDR_LEN); ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&xm, NULL, rnh)); ++ } ++ break; ++ ++ default: ++ return (0); ++ } ++ ++ if (xent != NULL) { ++ arg->bytes = xent->bytes; ++ arg->packets = xent->packets; ++ arg->value = xent->value; ++ arg->timestamp = xent->timestamp; ++ ++ return (1); ++ } ++ return (0); ++} ++ ++void * + ipfw_lookup_table_extended(struct ip_fw_chain *ch, uint16_t tbl, void *paddr, + uint32_t *val, int type) + { +@@ -560,9 +821,9 @@ ipfw_lookup_table_extended(struct ip_fw_chain *ch, uint16_t tbl, void *paddr, + struct xaddr_iface iface; + + if (tbl >= V_fw_tables_max) +- return (0); ++ return (NULL); + if ((rnh = ch->xtables[tbl]) == NULL) +- return (0); ++ return (NULL); + + switch (type) { + case IPFW_TABLE_CIDR: +@@ -579,15 +840,37 @@ ipfw_lookup_table_extended(struct ip_fw_chain *ch, uint16_t tbl, void *paddr, + xent = (struct table_xentry *)(rnh->rnh_lookup(&iface, NULL, rnh)); + break; + ++#if 0 ++ case IPFW_TABLE_MAC: ++ { ++ struct xaddr_mac mac; ++ ++ KEY_LEN(mac) = KEY_LEN_MAC; ++ mac.mac = (struct ether_addr)(*paddr); ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&mac, NULL, rnh)); ++ } ++ break; ++#endif ++ ++ case IPFW_TABLE_MIX: ++ { ++ struct xaddr_mix xm; ++ ++ KEY_LEN(xm) = KEY_LEN_MIX; ++ memcpy(((char *)&xm.sin_addr), paddr, sizeof(struct in_addr) + ETHER_ADDR_LEN); ++ xent = (struct table_xentry *)(rnh->rnh_lookup(&xm, NULL, rnh)); ++ } ++ break; ++ + default: +- return (0); ++ return (NULL); + } + + if (xent != NULL) { + *val = xent->value; +- return (1); ++ return (xent); + } +- return (0); ++ return (NULL); + } + + static int +@@ -696,6 +979,9 @@ dump_table_xentry_base(struct radix_node *rn, void *arg) + /* Save IPv4 address as deprecated IPv6 compatible */ + xent->k.addr6.s6_addr32[3] = n->addr.sin_addr.s_addr; + xent->value = n->value; ++ xent->bytes = n->bytes; ++ xent->packets = n->packets; ++ xent->timestamp = n->timestamp; + tbl->cnt++; + return (0); + } +@@ -733,12 +1019,31 @@ dump_table_xentry_extended(struct radix_node *rn, void *arg) + memcpy(&xent->k, &n->a.iface.ifname, IF_NAMESIZE); + break; + ++#if 0 ++ case IPFW_TABLE_MAC: ++ /* Assume exact mask */ ++ xent->masklen = 8 * ETHER_ADDR_LEN; ++ xent->k.mac.addr = n->a.mac.mac; ++ xent->k.mac.mask = n->m.mac.mac; ++ break; ++#endif ++ ++ case IPFW_TABLE_MIX: ++ /* Assume exact mask */ ++ xent->masklen = 8 * (ETHER_ADDR_LEN + sizeof(struct in_addr)); ++ memcpy(&xent->k.mix.addr, &n->a.mix.sin_addr, sizeof(struct in_addr)); ++ memcpy(xent->k.mix.mac, &n->a.mix.mac, ETHER_ADDR_LEN); ++ break; ++ + default: + /* unknown, skip entry */ + return (0); + } + + xent->value = n->value; ++ xent->bytes = n->bytes; ++ xent->packets = n->packets; ++ xent->timestamp = n->timestamp; + tbl->cnt++; + return (0); + } diff --git a/patches/RELENG_10_0/IPSEC_sysctl.RELENG_10.diff b/patches/RELENG_10_0/IPSEC_sysctl.RELENG_10.diff new file mode 100644 index 0000000..0ca4ece --- /dev/null +++ b/patches/RELENG_10_0/IPSEC_sysctl.RELENG_10.diff @@ -0,0 +1,497 @@ +diff --git a/sys/netinet/in.h b/sys/netinet/in.h +index db9a590..69a7bbe 100644 +--- a/sys/netinet/in.h ++++ b/sys/netinet/in.h +@@ -697,7 +697,8 @@ int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, + #define IPCTL_FASTFORWARDING 14 /* use fast IP forwarding code */ + #define IPCTL_KEEPFAITH 15 /* FAITH IPv4->IPv6 translater ctl */ + #define IPCTL_GIF_TTL 16 /* default TTL for gif encap packet */ +-#define IPCTL_MAXID 17 ++#define IPCTL_IPSEC_INUSE 17 ++#define IPCTL_MAXID 18 + + #endif /* __BSD_VISIBLE */ + +diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c +index 818e417..ae87d62 100644 +--- a/sys/netinet/ip_input.c ++++ b/sys/netinet/ip_input.c +@@ -98,6 +98,11 @@ SYSCTL_VNET_INT(_net_inet_ip, IPCTL_FORWARDING, forwarding, CTLFLAG_RW, + &VNET_NAME(ipforwarding), 0, + "Enable IP forwarding between interfaces"); + ++VNET_DEFINE(int, ipipsec_in_use); ++SYSCTL_VNET_INT(_net_inet_ip, IPCTL_IPSEC_INUSE, ipsec_in_use, CTLFLAG_RW, ++ &VNET_NAME(ipipsec_in_use), 0, ++ "Enable IPSec processing of packets"); ++ + static VNET_DEFINE(int, ipsendredirects) = 1; /* XXX */ + #define V_ipsendredirects VNET(ipsendredirects) + SYSCTL_VNET_INT(_net_inet_ip, IPCTL_SENDREDIRECTS, redirect, CTLFLAG_RW, +@@ -500,7 +505,7 @@ tooshort: + /* + * Bypass packet filtering for packets previously handled by IPsec. + */ +- if (ip_ipsec_filtertunnel(m)) ++ if (V_ipipsec_in_use && ip_ipsec_filtertunnel(m)) + goto passin; + #endif /* IPSEC */ + +@@ -707,7 +712,7 @@ passin: + m_freem(m); + } else { + #ifdef IPSEC +- if (ip_ipsec_fwd(m)) ++ if (V_ipipsec_in_use && ip_ipsec_fwd(m)) + goto bad; + #endif /* IPSEC */ + ip_forward(m, dchg); +@@ -753,7 +758,7 @@ ours: + * note that we do not visit this with protocols with pcb layer + * code - like udp/tcp/raw ip. + */ +- if (ip_ipsec_input(m)) ++ if (V_ipipsec_in_use && ip_ipsec_input(m)) + goto bad; + #endif /* IPSEC */ + +@@ -1547,7 +1552,8 @@ ip_forward(struct mbuf *m, int srcrt) + * If IPsec is configured for this path, + * override any possibly mtu value set by ip_output. + */ +- mtu = ip_ipsec_mtu(mcopy, mtu); ++ if (V_ipipsec_in_use) ++ mtu = ip_ipsec_mtu(mcopy, mtu); + #endif /* IPSEC */ + /* + * If the MTU was set before make sure we are below the +diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c +index c0b0411..bbba536 100644 +--- a/sys/netinet/ip_output.c ++++ b/sys/netinet/ip_output.c +@@ -473,18 +473,20 @@ again: + + sendit: + #ifdef IPSEC +- switch(ip_ipsec_output(&m, inp, &flags, &error)) { +- case 1: +- goto bad; +- case -1: +- goto done; +- case 0: +- default: +- break; /* Continue with packet processing. */ ++ if (V_ipipsec_in_use) { ++ switch(ip_ipsec_output(&m, inp, &flags, &error)) { ++ case 1: ++ goto bad; ++ case -1: ++ goto done; ++ case 0: ++ default: ++ break; /* Continue with packet processing. */ ++ } ++ /* Update variables that are affected by ipsec4_output(). */ ++ ip = mtod(m, struct ip *); ++ hlen = ip->ip_hl << 2; + } +- /* Update variables that are affected by ipsec4_output(). */ +- ip = mtod(m, struct ip *); +- hlen = ip->ip_hl << 2; + #endif /* IPSEC */ + + /* Jump over all PFIL processing if hooks are not active. */ +diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h +index 519f9cd..bde2f1f 100644 +--- a/sys/netinet/ip_var.h ++++ b/sys/netinet/ip_var.h +@@ -185,6 +185,7 @@ struct sockopt; + VNET_DECLARE(u_short, ip_id); /* ip packet ctr, for ids */ + VNET_DECLARE(int, ip_defttl); /* default IP ttl */ + VNET_DECLARE(int, ipforwarding); /* ip forwarding */ ++VNET_DECLARE(int, ipipsec_in_use); + #ifdef IPSTEALTH + VNET_DECLARE(int, ipstealth); /* stealth forwarding */ + #endif +@@ -200,6 +201,7 @@ extern struct pr_usrreqs rip_usrreqs; + #define V_ip_id VNET(ip_id) + #define V_ip_defttl VNET(ip_defttl) + #define V_ipforwarding VNET(ipforwarding) ++#define V_ipipsec_in_use VNET(ipipsec_in_use) + #ifdef IPSTEALTH + #define V_ipstealth VNET(ipstealth) + #endif +diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c +index 1d983da..25de3df 100644 +--- a/sys/netinet6/ip6_input.c ++++ b/sys/netinet6/ip6_input.c +@@ -139,6 +139,7 @@ static struct netisr_handler ip6_nh = { + .nh_policy = NETISR_POLICY_FLOW, + }; + ++VNET_DECLARE(int, ipipsec_in_use); + VNET_DECLARE(struct callout, in6_tmpaddrtimer_ch); + #define V_in6_tmpaddrtimer_ch VNET(in6_tmpaddrtimer_ch) + +@@ -1017,6 +1018,7 @@ passin: + } + + #ifdef IPSEC ++ if (V_ipipsec_in_use) { + /* + * enforce IPsec policy checking if we are seeing last header. + * note that we do not visit this with protocols with pcb layer +@@ -1024,6 +1026,7 @@ passin: + */ + if (ip6_ipsec_input(m, nxt)) + goto bad; ++ } + #endif /* IPSEC */ + + /* +diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c +index 0d55b66..1044992 100644 +--- a/sys/netinet6/ip6_output.c ++++ b/sys/netinet6/ip6_output.c +@@ -147,6 +147,7 @@ static int ip6_getpmtu(struct route_in6 *, struct route_in6 *, + struct ifnet *, struct in6_addr *, u_long *, int *, u_int); + static int copypktopts(struct ip6_pktopts *, struct ip6_pktopts *, int); + ++VNET_DECLARE(int, ipipsec_in_use); + + /* + * Make an extension header from option data. hp is the source, and +@@ -294,33 +295,35 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, + } + + #ifdef IPSEC +- /* +- * IPSec checking which handles several cases. +- * FAST IPSEC: We re-injected the packet. +- */ +- switch(ip6_ipsec_output(&m, inp, &flags, &error, &ifp, &sp)) +- { +- case 1: /* Bad packet */ +- goto freehdrs; +- case -1: /* Do IPSec */ +- needipsec = 1; ++ if (V_ipipsec_in_use) { + /* +- * Do delayed checksums now, as we may send before returning. ++ * IPSec checking which handles several cases. ++ * FAST IPSEC: We re-injected the packet. + */ +- if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA_IPV6) { +- plen = m->m_pkthdr.len - sizeof(*ip6); +- in6_delayed_cksum(m, plen, sizeof(struct ip6_hdr)); +- m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA_IPV6; +- } ++ switch(ip6_ipsec_output(&m, inp, &flags, &error, &ifp, &sp)) ++ { ++ case 1: /* Bad packet */ ++ goto freehdrs; ++ case -1: /* Do IPSec */ ++ needipsec = 1; ++ /* ++ * Do delayed checksums now, as we may send before returning. ++ */ ++ if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA_IPV6) { ++ plen = m->m_pkthdr.len - sizeof(*ip6); ++ in6_delayed_cksum(m, plen, sizeof(struct ip6_hdr)); ++ m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA_IPV6; ++ } + #ifdef SCTP +- if (m->m_pkthdr.csum_flags & CSUM_SCTP_IPV6) { +- sctp_delayed_cksum(m, sizeof(struct ip6_hdr)); +- m->m_pkthdr.csum_flags &= ~CSUM_SCTP_IPV6; +- } ++ if (m->m_pkthdr.csum_flags & CSUM_SCTP_IPV6) { ++ sctp_delayed_cksum(m, sizeof(struct ip6_hdr)); ++ m->m_pkthdr.csum_flags &= ~CSUM_SCTP_IPV6; ++ } + #endif +- case 0: /* No IPSec */ +- default: +- break; ++ case 0: /* No IPSec */ ++ default: ++ break; ++ } + } + #endif /* IPSEC */ + +@@ -421,67 +424,69 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, + IPPROTO_ROUTING); + + #ifdef IPSEC +- if (!needipsec) +- goto skip_ipsec2; +- +- /* +- * pointers after IPsec headers are not valid any more. +- * other pointers need a great care too. +- * (IPsec routines should not mangle mbufs prior to AH/ESP) +- */ +- exthdrs.ip6e_dest2 = NULL; +- +- if (exthdrs.ip6e_rthdr) { +- rh = mtod(exthdrs.ip6e_rthdr, struct ip6_rthdr *); +- segleft_org = rh->ip6r_segleft; +- rh->ip6r_segleft = 0; +- } ++ if (V_ipipsec_in_use) { ++ if (!needipsec) ++ goto skip_ipsec2; + +- bzero(&state, sizeof(state)); +- state.m = m; +- error = ipsec6_output_trans(&state, nexthdrp, mprev, sp, flags, +- &needipsectun); +- m = state.m; +- if (error == EJUSTRETURN) { + /* +- * We had a SP with a level of 'use' and no SA. We +- * will just continue to process the packet without +- * IPsec processing. ++ * pointers after IPsec headers are not valid any more. ++ * other pointers need a great care too. ++ * (IPsec routines should not mangle mbufs prior to AH/ESP) + */ +- ; +- } else if (error) { +- /* mbuf is already reclaimed in ipsec6_output_trans. */ +- m = NULL; +- switch (error) { +- case EHOSTUNREACH: +- case ENETUNREACH: +- case EMSGSIZE: +- case ENOBUFS: +- case ENOMEM: +- break; +- default: +- printf("[%s:%d] (ipsec): error code %d\n", +- __func__, __LINE__, error); +- /* FALLTHROUGH */ +- case ENOENT: +- /* don't show these error codes to the user */ +- error = 0; +- break; ++ exthdrs.ip6e_dest2 = NULL; ++ ++ if (exthdrs.ip6e_rthdr) { ++ rh = mtod(exthdrs.ip6e_rthdr, struct ip6_rthdr *); ++ segleft_org = rh->ip6r_segleft; ++ rh->ip6r_segleft = 0; ++ } ++ ++ bzero(&state, sizeof(state)); ++ state.m = m; ++ error = ipsec6_output_trans(&state, nexthdrp, mprev, sp, flags, ++ &needipsectun); ++ m = state.m; ++ if (error == EJUSTRETURN) { ++ /* ++ * We had a SP with a level of 'use' and no SA. We ++ * will just continue to process the packet without ++ * IPsec processing. ++ */ ++ ; ++ } else if (error) { ++ /* mbuf is already reclaimed in ipsec6_output_trans. */ ++ m = NULL; ++ switch (error) { ++ case EHOSTUNREACH: ++ case ENETUNREACH: ++ case EMSGSIZE: ++ case ENOBUFS: ++ case ENOMEM: ++ break; ++ default: ++ printf("[%s:%d] (ipsec): error code %d\n", ++ __func__, __LINE__, error); ++ /* FALLTHROUGH */ ++ case ENOENT: ++ /* don't show these error codes to the user */ ++ error = 0; ++ break; ++ } ++ goto bad; ++ } else if (!needipsectun) { ++ /* ++ * In the FAST IPSec case we have already ++ * re-injected the packet and it has been freed ++ * by the ipsec_done() function. So, just clean ++ * up after ourselves. ++ */ ++ m = NULL; ++ goto done; ++ } ++ if (exthdrs.ip6e_rthdr) { ++ /* ah6_output doesn't modify mbuf chain */ ++ rh->ip6r_segleft = segleft_org; + } +- goto bad; +- } else if (!needipsectun) { +- /* +- * In the FAST IPSec case we have already +- * re-injected the packet and it has been freed +- * by the ipsec_done() function. So, just clean +- * up after ourselves. +- */ +- m = NULL; +- goto done; +- } +- if (exthdrs.ip6e_rthdr) { +- /* ah6_output doesn't modify mbuf chain */ +- rh->ip6r_segleft = segleft_org; + } + skip_ipsec2:; + #endif /* IPSEC */ +@@ -563,73 +568,75 @@ again: + } + + #ifdef IPSEC +- /* +- * We may re-inject packets into the stack here. +- */ +- if (needipsec && needipsectun) { +- struct ipsec_output_state state; +- ++ if (V_ipipsec_in_use) { + /* +- * All the extension headers will become inaccessible +- * (since they can be encrypted). +- * Don't panic, we need no more updates to extension headers +- * on inner IPv6 packet (since they are now encapsulated). +- * +- * IPv6 [ESP|AH] IPv6 [extension headers] payload ++ * We may re-inject packets into the stack here. + */ +- bzero(&exthdrs, sizeof(exthdrs)); +- exthdrs.ip6e_ip6 = m; +- +- bzero(&state, sizeof(state)); +- state.m = m; +- state.ro = (struct route *)ro; +- state.dst = (struct sockaddr *)dst; +- +- error = ipsec6_output_tunnel(&state, sp, flags); ++ if (needipsec && needipsectun) { ++ struct ipsec_output_state state; + +- m = state.m; +- ro = (struct route_in6 *)state.ro; +- dst = (struct sockaddr_in6 *)state.dst; +- if (error == EJUSTRETURN) { + /* +- * We had a SP with a level of 'use' and no SA. We +- * will just continue to process the packet without +- * IPsec processing. ++ * All the extension headers will become inaccessible ++ * (since they can be encrypted). ++ * Don't panic, we need no more updates to extension headers ++ * on inner IPv6 packet (since they are now encapsulated). ++ * ++ * IPv6 [ESP|AH] IPv6 [extension headers] payload + */ +- ; +- } else if (error) { +- /* mbuf is already reclaimed in ipsec6_output_tunnel. */ +- m0 = m = NULL; +- m = NULL; +- switch (error) { +- case EHOSTUNREACH: +- case ENETUNREACH: +- case EMSGSIZE: +- case ENOBUFS: +- case ENOMEM: +- break; +- default: +- printf("[%s:%d] (ipsec): error code %d\n", +- __func__, __LINE__, error); +- /* FALLTHROUGH */ +- case ENOENT: +- /* don't show these error codes to the user */ +- error = 0; +- break; ++ bzero(&exthdrs, sizeof(exthdrs)); ++ exthdrs.ip6e_ip6 = m; ++ ++ bzero(&state, sizeof(state)); ++ state.m = m; ++ state.ro = (struct route *)ro; ++ state.dst = (struct sockaddr *)dst; ++ ++ error = ipsec6_output_tunnel(&state, sp, flags); ++ ++ m = state.m; ++ ro = (struct route_in6 *)state.ro; ++ dst = (struct sockaddr_in6 *)state.dst; ++ if (error == EJUSTRETURN) { ++ /* ++ * We had a SP with a level of 'use' and no SA. We ++ * will just continue to process the packet without ++ * IPsec processing. ++ */ ++ ; ++ } else if (error) { ++ /* mbuf is already reclaimed in ipsec6_output_tunnel. */ ++ m0 = m = NULL; ++ m = NULL; ++ switch (error) { ++ case EHOSTUNREACH: ++ case ENETUNREACH: ++ case EMSGSIZE: ++ case ENOBUFS: ++ case ENOMEM: ++ break; ++ default: ++ printf("[%s:%d] (ipsec): error code %d\n", ++ __func__, __LINE__, error); ++ /* FALLTHROUGH */ ++ case ENOENT: ++ /* don't show these error codes to the user */ ++ error = 0; ++ break; ++ } ++ goto bad; ++ } else { ++ /* ++ * In the FAST IPSec case we have already ++ * re-injected the packet and it has been freed ++ * by the ipsec_done() function. So, just clean ++ * up after ourselves. ++ */ ++ m = NULL; ++ goto done; + } +- goto bad; +- } else { +- /* +- * In the FAST IPSec case we have already +- * re-injected the packet and it has been freed +- * by the ipsec_done() function. So, just clean +- * up after ourselves. +- */ +- m = NULL; +- goto done; +- } + +- exthdrs.ip6e_ip6 = m; ++ exthdrs.ip6e_ip6 = m; ++ } + } + #endif /* IPSEC */ + +diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h +index 1c22cc9..a6fa65a 100644 +--- a/sys/netinet6/ip6_var.h ++++ b/sys/netinet6/ip6_var.h +@@ -321,6 +321,7 @@ VNET_DECLARE(int, ip6_v6only); + #define V_ip6_rr_prune VNET(ip6_rr_prune) + #define V_ip6_mcast_pmtu VNET(ip6_mcast_pmtu) + #define V_ip6_v6only VNET(ip6_v6only) ++#define V_ipipsec_in_use VNET(ipipsec_in_use) + + VNET_DECLARE(struct socket *, ip6_mrouter); /* multicast routing daemon */ + VNET_DECLARE(int, ip6_sendredirects); /* send IP redirects when forwarding? */ diff --git a/patches/RELENG_10_0/altq_codel.diff b/patches/RELENG_10_0/altq_codel.diff new file mode 100644 index 0000000..9a44cac --- /dev/null +++ b/patches/RELENG_10_0/altq_codel.diff @@ -0,0 +1,1825 @@ +diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y +index 782ebb6..cefdeb0 100644 +--- a/sbin/pfctl/parse.y ++++ b/sbin/pfctl/parse.y +@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include ++#include + + #include + #include +@@ -315,6 +316,7 @@ struct pool_opts { + + struct node_hfsc_opts hfsc_opts; + struct node_fairq_opts fairq_opts; ++struct codel_opts codel_opts; + struct node_state_opt *keep_state_defaults = NULL; + + int disallow_table(struct node_host *, const char *); +@@ -439,6 +441,7 @@ typedef struct { + struct pool_opts pool_opts; + struct node_hfsc_opts hfsc_opts; + struct node_fairq_opts fairq_opts; ++ struct codel_opts codel_opts; + } v; + int lineno; + } YYSTYPE; +@@ -463,8 +466,8 @@ int parseport(char *, struct range *r, int); + %token REQUIREORDER SYNPROXY FINGERPRINTS NOSYNC DEBUG SKIP HOSTID + %token ANTISPOOF FOR INCLUDE + %token BITMASK RANDOM SOURCEHASH ROUNDROBIN STATICPORT PROBABILITY +-%token ALTQ CBQ PRIQ HFSC FAIRQ BANDWIDTH TBRSIZE LINKSHARE REALTIME UPPERLIMIT +-%token QUEUE PRIORITY QLIMIT HOGS BUCKETS RTABLE ++%token ALTQ CBQ PRIQ HFSC FAIRQ CODEL BANDWIDTH TBRSIZE LINKSHARE REALTIME UPPERLIMIT ++%token QUEUE PRIORITY QLIMIT HOGS BUCKETS RTABLE INTERVAL + %token DNPIPE DNQUEUE + %token LOAD RULESET_OPTIMIZATION + %token STICKYADDRESS MAXSRCSTATES MAXSRCNODES SOURCETRACK GLOBAL RULE +@@ -515,6 +518,7 @@ int parseport(char *, struct range *r, int); + %type priqflags_list priqflags_item + %type hfscopts_list hfscopts_item hfsc_opts + %type fairqopts_list fairqopts_item fairq_opts ++%type codelopts_list codelopts_item codel_opts + %type bandwidth + %type filter_opts filter_opt filter_opts_l + %type antispoof_opts antispoof_opt antispoof_opts_l +@@ -1491,7 +1495,7 @@ altqif : ALTQ interface queue_opts QUEUE qassign { + a.scheduler = $3.scheduler.qtype; + a.qlimit = $3.qlimit; + a.tbrsize = $3.tbrsize; +- if ($5 == NULL) { ++ if ($5 == NULL && $3.scheduler.qtype != ALTQT_CODEL) { + yyerror("no child queues specified"); + YYERROR; + } +@@ -1701,6 +1705,15 @@ scheduler : CBQ { + $$.qtype = ALTQT_FAIRQ; + $$.data.fairq_opts = $3; + } ++ | CODEL { ++ $$.qtype = ALTQT_CODEL; ++ bzero(&$$.data.codel_opts, ++ sizeof(struct codel_opts)); ++ } ++ | CODEL '(' codel_opts ')' { ++ $$.qtype = ALTQT_CODEL; ++ $$.data.codel_opts = $3; ++ } + ; + + cbqflags_list : cbqflags_item { $$ |= $1; } +@@ -1718,6 +1731,8 @@ cbqflags_item : STRING { + $$ = CBQCLF_RED|CBQCLF_ECN; + else if (!strcmp($1, "rio")) + $$ = CBQCLF_RIO; ++ else if (!strcmp($1, "codel")) ++ $$ = CBQCLF_CODEL; + else { + yyerror("unknown cbq flag \"%s\"", $1); + free($1); +@@ -1740,6 +1755,8 @@ priqflags_item : STRING { + $$ = PRCF_RED|PRCF_ECN; + else if (!strcmp($1, "rio")) + $$ = PRCF_RIO; ++ else if (!strcmp($1, "codel")) ++ $$ = PRCF_CODEL; + else { + yyerror("unknown priq flag \"%s\"", $1); + free($1); +@@ -1840,6 +1857,8 @@ hfscopts_item : LINKSHARE bandwidth { + hfsc_opts.flags |= HFCF_RED|HFCF_ECN; + else if (!strcmp($1, "rio")) + hfsc_opts.flags |= HFCF_RIO; ++ else if (!strcmp($1, "codel")) ++ hfsc_opts.flags |= HFCF_CODEL; + else { + yyerror("unknown hfsc flag \"%s\"", $1); + free($1); +@@ -1895,6 +1914,8 @@ fairqopts_item : LINKSHARE bandwidth { + fairq_opts.flags |= FARF_RED|FARF_ECN; + else if (!strcmp($1, "rio")) + fairq_opts.flags |= FARF_RIO; ++ else if (!strcmp($1, "codel")) ++ fairq_opts.flags |= FARF_CODEL; + else { + yyerror("unknown fairq flag \"%s\"", $1); + free($1); +@@ -1904,6 +1925,45 @@ fairqopts_item : LINKSHARE bandwidth { + } + ; + ++codel_opts : { ++ bzero(&codel_opts, ++ sizeof(struct codel_opts)); ++ } ++ codelopts_list { ++ $$ = codel_opts; ++ } ++ ; ++ ++codelopts_list : codelopts_item ++ | codelopts_list comma codelopts_item ++ ; ++ ++codelopts_item : QLIMIT number { ++ if (codel_opts.target) { ++ yyerror("target already specified"); ++ YYERROR; ++ } ++ codel_opts.target = $2; ++ } ++ | INTERVAL number { ++ if (codel_opts.interval) { ++ yyerror("interval already specified"); ++ YYERROR; ++ } ++ codel_opts.interval = $2; ++ } ++ | STRING { ++ if (!strcmp($1, "ecn")) ++ codel_opts.ecn = 1; ++ else { ++ yyerror("unknown codel option \"%s\"", $1); ++ free($1); ++ YYERROR; ++ } ++ free($1); ++ } ++ ; ++ + qassign : /* empty */ { $$ = NULL; } + | qassign_item { $$ = $1; } + | '{' optnl qassign_list '}' { $$ = $3; } +@@ -5049,7 +5109,8 @@ expand_altq(struct pf_altq *a, struct node_if *interfaces, + + if ((pf->loadopt & PFCTL_FLAG_ALTQ) == 0) { + FREE_LIST(struct node_if, interfaces); +- FREE_LIST(struct node_queue, nqueues); ++ if (nqueues) ++ FREE_LIST(struct node_queue, nqueues); + return (0); + } + +@@ -5111,37 +5172,40 @@ expand_altq(struct pf_altq *a, struct node_if *interfaces, + errs++; + } + +- LOOP_THROUGH(struct node_queue, queue, nqueues, +- n = calloc(1, sizeof(struct node_queue)); +- if (n == NULL) +- err(1, "expand_altq: calloc"); +- if (pa.scheduler == ALTQT_CBQ || +- pa.scheduler == ALTQT_HFSC /* || +- pa.scheduler == ALTQT_FAIRQ */) +- if (strlcpy(n->parent, qname, +- sizeof(n->parent)) >= +- sizeof(n->parent)) ++ if (nqueues) { ++ LOOP_THROUGH(struct node_queue, queue, nqueues, ++ n = calloc(1, sizeof(struct node_queue)); ++ if (n == NULL) ++ err(1, "expand_altq: calloc"); ++ if (pa.scheduler == ALTQT_CBQ || ++ pa.scheduler == ALTQT_HFSC /* || ++ pa.scheduler == ALTQT_FAIRQ */) ++ if (strlcpy(n->parent, qname, ++ sizeof(n->parent)) >= ++ sizeof(n->parent)) ++ errx(1, "expand_altq: strlcpy"); ++ if (strlcpy(n->queue, queue->queue, ++ sizeof(n->queue)) >= sizeof(n->queue)) + errx(1, "expand_altq: strlcpy"); +- if (strlcpy(n->queue, queue->queue, +- sizeof(n->queue)) >= sizeof(n->queue)) +- errx(1, "expand_altq: strlcpy"); +- if (strlcpy(n->ifname, interface->ifname, +- sizeof(n->ifname)) >= sizeof(n->ifname)) +- errx(1, "expand_altq: strlcpy"); +- n->scheduler = pa.scheduler; +- n->next = NULL; +- n->tail = n; +- if (queues == NULL) +- queues = n; +- else { +- queues->tail->next = n; +- queues->tail = n; +- } +- ); ++ if (strlcpy(n->ifname, interface->ifname, ++ sizeof(n->ifname)) >= sizeof(n->ifname)) ++ errx(1, "expand_altq: strlcpy"); ++ n->scheduler = pa.scheduler; ++ n->next = NULL; ++ n->tail = n; ++ if (queues == NULL) ++ queues = n; ++ else { ++ queues->tail->next = n; ++ queues->tail = n; ++ } ++ ); ++ } + } + ); + FREE_LIST(struct node_if, interfaces); +- FREE_LIST(struct node_queue, nqueues); ++ if (nqueues) ++ FREE_LIST(struct node_queue, nqueues); + + return (errs); + } +@@ -5555,6 +5619,7 @@ lookup(char *s) + { "buckets", BUCKETS}, + { "cbq", CBQ}, + { "code", CODE}, ++ { "codelq", CODEL}, + { "crop", FRAGCROP}, + { "debug", DEBUG}, + { "dnpipe", DNPIPE}, +@@ -5589,6 +5654,7 @@ lookup(char *s) + { "include", INCLUDE}, + { "inet", INET}, + { "inet6", INET6}, ++ { "interval", INTERVAL}, + { "keep", KEEP}, + { "label", LABEL}, + { "limit", LIMIT}, +diff --git a/sbin/pfctl/pfctl_altq.c b/sbin/pfctl/pfctl_altq.c +index 9a33c01..f532aeb 100644 +--- a/sbin/pfctl/pfctl_altq.c ++++ b/sbin/pfctl/pfctl_altq.c +@@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include ++#include + + #include "pfctl_parser.h" + #include "pfctl.h" +@@ -75,6 +76,9 @@ static int print_fairq_opts(const struct pf_altq *, + const struct node_queue_opt *); + static int check_commit_fairq(int, int, struct pf_altq *); + ++static int print_codel_opts(const struct pf_altq *, ++ const struct node_queue_opt *); ++ + static void gsc_add_sc(struct gen_sc *, struct service_curve *); + static int is_gsc_under_sc(struct gen_sc *, + struct service_curve *); +@@ -186,6 +190,10 @@ print_altq(const struct pf_altq *a, unsigned int level, + if (!print_fairq_opts(a, qopts)) + printf("fairq "); + break; ++ case ALTQT_CODEL: ++ if (!print_codel_opts(a, qopts)) ++ printf("codel "); ++ break; + } + + if (bw != NULL && bw->bw_percent > 0) { +@@ -588,6 +596,8 @@ print_cbq_opts(const struct pf_altq *a) + printf(" ecn"); + if (opts->flags & CBQCLF_RIO) + printf(" rio"); ++ if (opts->flags & CBQCLF_CODEL) ++ printf(" codel"); + if (opts->flags & CBQCLF_CLEARDSCP) + printf(" cleardscp"); + if (opts->flags & CBQCLF_FLOWVALVE) +@@ -675,6 +685,8 @@ print_priq_opts(const struct pf_altq *a) + printf(" ecn"); + if (opts->flags & PRCF_RIO) + printf(" rio"); ++ if (opts->flags & PRCF_CODEL) ++ printf(" codel"); + if (opts->flags & PRCF_CLEARDSCP) + printf(" cleardscp"); + if (opts->flags & PRCF_DEFAULTCLASS) +@@ -1000,6 +1012,8 @@ print_hfsc_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) + printf(" ecn"); + if (opts->flags & HFCF_RIO) + printf(" rio"); ++ if (opts->flags & HFCF_CODEL) ++ printf(" codel"); + if (opts->flags & HFCF_CLEARDSCP) + printf(" cleardscp"); + if (opts->flags & HFCF_DEFAULTCLASS) +@@ -1022,6 +1036,28 @@ print_hfsc_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) + } + + static int ++print_codel_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) ++{ ++ const struct codel_opts *opts; ++ ++ opts = &a->pq_u.codel_opts; ++ if (opts->target || opts->interval || opts->ecn) { ++ printf("codel("); ++ if (opts->target) ++ printf(" target %d", opts->target); ++ if (opts->interval) ++ printf(" interval %d", opts->interval); ++ if (opts->ecn) ++ printf("ecn"); ++ printf(") "); ++ ++ return (1); ++ } ++ ++ return (0); ++} ++ ++static int + print_fairq_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) + { + const struct fairq_opts *opts; +@@ -1043,6 +1079,8 @@ print_fairq_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) + printf(" ecn"); + if (opts->flags & FARF_RIO) + printf(" rio"); ++ if (opts->flags & FARF_CODEL) ++ printf(" codel"); + if (opts->flags & FARF_CLEARDSCP) + printf(" cleardscp"); + if (opts->flags & FARF_DEFAULTCLASS) +@@ -1394,6 +1432,11 @@ eval_queue_opts(struct pf_altq *pa, struct node_queue_opt *opts, + opts->data.fairq_opts.linkshare.d; + } + break; ++ case ALTQT_CODEL: ++ pa->pq_u.codel_opts.target = opts->data.codel_opts.target; ++ pa->pq_u.codel_opts.interval = opts->data.codel_opts.interval; ++ pa->pq_u.codel_opts.ecn = opts->data.codel_opts.ecn; ++ break; + default: + warnx("eval_queue_opts: unknown scheduler type %u", + opts->qtype); +diff --git a/sbin/pfctl/pfctl_parser.h b/sbin/pfctl/pfctl_parser.h +index f2b0a9b..b44a65a 100644 +--- a/sbin/pfctl/pfctl_parser.h ++++ b/sbin/pfctl/pfctl_parser.h +@@ -169,6 +169,7 @@ struct node_queue_opt { + union { + struct cbq_opts cbq_opts; + struct priq_opts priq_opts; ++ struct codel_opts codel_opts; + struct node_hfsc_opts hfsc_opts; + struct node_fairq_opts fairq_opts; + } data; +diff --git a/sbin/pfctl/pfctl_qstats.c b/sbin/pfctl/pfctl_qstats.c +index 4087d71..5530572 100644 +--- a/sbin/pfctl/pfctl_qstats.c ++++ b/sbin/pfctl/pfctl_qstats.c +@@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include ++#include + + #include "pfctl.h" + #include "pfctl_parser.h" +@@ -48,6 +49,7 @@ union class_stats { + struct priq_classstats priq_stats; + struct hfsc_classstats hfsc_stats; + struct fairq_classstats fairq_stats; ++ struct codel_ifstats codel_stats; + }; + + #define AVGN_MAX 8 +@@ -78,6 +80,7 @@ void pfctl_print_altq_node(int, const struct pf_altq_node *, + unsigned, int); + void print_cbqstats(struct queue_stats); + void print_priqstats(struct queue_stats); ++void print_codelstats(struct queue_stats); + void print_hfscstats(struct queue_stats); + void print_fairqstats(struct queue_stats); + void pfctl_free_altq_node(struct pf_altq_node *); +@@ -165,7 +168,7 @@ pfctl_update_qstats(int dev, struct pf_altq_node **root) + return (-1); + } + #ifdef __FreeBSD__ +- if (pa.altq.qid > 0 && ++ if ((pa.altq.qid > 0 || pa.altq.scheduler == ALTQT_CODEL) && + !(pa.altq.local_flags & PFALTQ_FLAG_IF_REMOVED)) { + #else + if (pa.altq.qid > 0) { +@@ -303,7 +306,7 @@ pfctl_print_altq_node(int dev, const struct pf_altq_node *node, + void + pfctl_print_altq_nodestat(int dev, const struct pf_altq_node *a) + { +- if (a->altq.qid == 0) ++ if (a->altq.qid == 0 && a->altq.scheduler != ALTQT_CODEL) + return; + + #ifdef __FreeBSD__ +@@ -323,6 +326,9 @@ pfctl_print_altq_nodestat(int dev, const struct pf_altq_node *a) + case ALTQT_FAIRQ: + print_fairqstats(a->qstats); + break; ++ case ALTQT_CODEL: ++ print_codelstats(a->qstats); ++ break; + } + } + +@@ -368,6 +374,26 @@ print_priqstats(struct queue_stats cur) + } + + void ++print_codelstats(struct queue_stats cur) ++{ ++ printf(" [ pkts: %10llu bytes: %10llu " ++ "dropped pkts: %6llu bytes: %6llu ]\n", ++ (unsigned long long)cur.data.codel_stats.cl_xmitcnt.packets, ++ (unsigned long long)cur.data.codel_stats.cl_xmitcnt.bytes, ++ (unsigned long long)cur.data.codel_stats.cl_dropcnt.packets + cur.data.codel_stats.stats.drop_cnt.packets, ++ (unsigned long long)cur.data.codel_stats.cl_dropcnt.bytes + cur.data.codel_stats.stats.drop_cnt.bytes); ++ printf(" [ qlength: %3d/%3d ]\n", ++ cur.data.codel_stats.qlength, cur.data.codel_stats.qlimit); ++ ++ if (cur.avgn < 2) ++ return; ++ ++ printf(" [ measured: %7.1f packets/s, %s/s ]\n", ++ cur.avg_packets / STAT_INTERVAL, ++ rate2str((8 * cur.avg_bytes) / STAT_INTERVAL)); ++} ++ ++void + print_hfscstats(struct queue_stats cur) + { + printf(" [ pkts: %10llu bytes: %10llu " +@@ -428,7 +454,7 @@ update_avg(struct pf_altq_node *a) + u_int64_t b, p; + int n; + +- if (a->altq.qid == 0) ++ if (a->altq.qid == 0 && a->altq.scheduler != ALTQT_CODEL) + return; + + qs = &a->qstats; +@@ -451,6 +477,10 @@ update_avg(struct pf_altq_node *a) + b = qs->data.fairq_stats.xmit_cnt.bytes; + p = qs->data.fairq_stats.xmit_cnt.packets; + break; ++ case ALTQT_CODEL: ++ b = qs->data.codel_stats.cl_xmitcnt.bytes; ++ p = qs->data.codel_stats.cl_xmitcnt.packets; ++ break; + default: + b = 0; + p = 0; +diff --git a/sys/conf/files b/sys/conf/files +index b72dbe8..36fe6f4 100644 +--- a/sys/conf/files ++++ b/sys/conf/files +@@ -284,6 +284,7 @@ compat/freebsd32/freebsd32_sysent.c optional compat_freebsd32 + contrib/altq/altq/altq_cbq.c optional altq + contrib/altq/altq/altq_cdnr.c optional altq + contrib/altq/altq/altq_hfsc.c optional altq ++contrib/altq/altq/altq_codel.c optional altq + contrib/altq/altq/altq_fairq.c optional altq + contrib/altq/altq/altq_priq.c optional altq + contrib/altq/altq/altq_red.c optional altq +diff --git a/sys/conf/options b/sys/conf/options +index dbfcdff..3b65c07 100644 +--- a/sys/conf/options ++++ b/sys/conf/options +@@ -382,6 +382,7 @@ ALTQ_NOPCC opt_altq.h + ALTQ_PRIQ opt_altq.h + ALTQ_RED opt_altq.h + ALTQ_RIO opt_altq.h ++ALTQ_CODEL opt_altq.h + BOOTP opt_bootp.h + BOOTP_BLOCKSIZE opt_bootp.h + BOOTP_COMPAT opt_bootp.h +diff --git a/sys/contrib/altq/altq/altq.h b/sys/contrib/altq/altq/altq.h +index 6200ac5..26d6cb7 100644 +--- a/sys/contrib/altq/altq/altq.h ++++ b/sys/contrib/altq/altq/altq.h +@@ -64,7 +64,8 @@ + #define ALTQT_PRIQ 11 /* priority queue */ + #define ALTQT_JOBS 12 /* JoBS */ + #define ALTQT_FAIRQ 13 /* fairq */ +-#define ALTQT_MAX 14 /* should be max discipline type + 1 */ ++#define ALTQT_CODEL 14 /* fairq */ ++#define ALTQT_MAX 15 /* should be max discipline type + 1 */ + + #ifdef ALTQ3_COMPAT + struct altqreq { +diff --git a/sys/contrib/altq/altq/altq_cbq.c b/sys/contrib/altq/altq/altq_cbq.c +index 0a33792..fdbe29a 100644 +--- a/sys/contrib/altq/altq/altq_cbq.c ++++ b/sys/contrib/altq/altq/altq_cbq.c +@@ -238,6 +238,10 @@ get_class_stats(class_stats_t *statsp, struct rm_class *cl) + if (q_is_rio(cl->q_)) + rio_getstats((rio_t *)cl->red_, &statsp->red[0]); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->q_)) ++ codel_getstats(cl->codel_, &statsp->codel); ++#endif + } + + int +diff --git a/sys/contrib/altq/altq/altq_cbq.h b/sys/contrib/altq/altq/altq_cbq.h +index 76096af..45509f0 100644 +--- a/sys/contrib/altq/altq/altq_cbq.h ++++ b/sys/contrib/altq/altq/altq_cbq.h +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + + #ifdef __cplusplus + extern "C" { +@@ -51,6 +52,7 @@ extern "C" { + #define CBQCLF_FLOWVALVE 0x0008 /* use flowvalve (aka penalty-box) */ + #define CBQCLF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ + #define CBQCLF_BORROW 0x0020 /* borrow from parent */ ++#define CBQCLF_CODEL 0x0040 /* use CODEL */ + + /* class flags only for root class */ + #define CBQCLF_WRR 0x0100 /* weighted-round robin */ +@@ -93,6 +95,7 @@ typedef struct _cbq_class_stats_ { + /* red and rio related info */ + int qtype; + struct redstats red[3]; ++ struct codel_stats codel; + } class_stats_t; + + #ifdef ALTQ3_COMPAT +diff --git a/sys/contrib/altq/altq/altq_classq.h b/sys/contrib/altq/altq/altq_classq.h +index dc5c646..8e4d1db 100644 +--- a/sys/contrib/altq/altq/altq_classq.h ++++ b/sys/contrib/altq/altq/altq_classq.h +@@ -49,6 +49,7 @@ extern "C" { + #define Q_RED 0x01 + #define Q_RIO 0x02 + #define Q_DROPTAIL 0x03 ++#define Q_CODEL 0x04 + + #ifdef _KERNEL + +@@ -58,6 +59,7 @@ extern "C" { + struct _class_queue_ { + struct mbuf *tail_; /* Tail of packet queue */ + int qlen_; /* Queue length (in number of packets) */ ++ int qsize_; /* Queue size (in number of bytes*) */ + int qlim_; /* Queue limit (in number of packets*) */ + int qtype_; /* Queue type */ + }; +@@ -67,11 +69,13 @@ typedef struct _class_queue_ class_queue_t; + #define qtype(q) (q)->qtype_ /* Get queue type */ + #define qlimit(q) (q)->qlim_ /* Max packets to be queued */ + #define qlen(q) (q)->qlen_ /* Current queue length. */ ++#define qsize(q) (q)->qsize_ /* Current queue size. */ + #define qtail(q) (q)->tail_ /* Tail of the queue */ + #define qhead(q) ((q)->tail_ ? (q)->tail_->m_nextpkt : NULL) + + #define qempty(q) ((q)->qlen_ == 0) /* Is the queue empty?? */ + #define q_is_red(q) ((q)->qtype_ == Q_RED) /* Is the queue a red queue */ ++#define q_is_codel(q) ((q)->qtype_ == Q_CODEL) /* Is the queue a codel queue */ + #define q_is_rio(q) ((q)->qtype_ == Q_RIO) /* Is the queue a rio queue */ + #define q_is_red_or_rio(q) ((q)->qtype_ == Q_RED || (q)->qtype_ == Q_RIO) + +@@ -100,6 +104,7 @@ _addq(class_queue_t *q, struct mbuf *m) + m0->m_nextpkt = m; + qtail(q) = m; + qlen(q)++; ++ qsize(q) += m_pktlen(m); + } + + static __inline struct mbuf * +@@ -114,6 +119,7 @@ _getq(class_queue_t *q) + else + qtail(q) = NULL; + qlen(q)--; ++ qsize(q) -= m_pktlen(m0); + m0->m_nextpkt = NULL; + return (m0); + } +diff --git a/sys/contrib/altq/altq/altq_codel.c b/sys/contrib/altq/altq/altq_codel.c +new file mode 100644 +index 0000000..81628c5 +--- /dev/null ++++ b/sys/contrib/altq/altq/altq_codel.c +@@ -0,0 +1,434 @@ ++/* ++ * Codel - The Controlled-Delay Active Queue Management algorithm ++ * ++ * Copyright (C) 2011-2012 Kathleen Nichols ++ * Copyright (C) 2011-2012 Van Jacobson ++ * Copyright (C) 2012 Michael D. Taht ++ * Copyright (C) 2012 Eric Dumazet ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions, and the following disclaimer, ++ * without modification. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. The names of the authors may not be used to endorse or promote products ++ * derived from this software without specific prior written permission. ++ * ++ * Alternatively, provided that this notice is retained in full, this ++ * software may be distributed under the terms of the GNU General ++ * Public License ("GPL") version 2, in which case the provisions of the ++ * GPL apply INSTEAD OF those given above. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH ++ * DAMAGE. ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include ++ ++#include ++#include ++ ++static int codel_should_drop(struct codel *, class_queue_t *, ++ struct mbuf *, u_int64_t); ++static void codel_Newton_step(struct codel_vars *); ++static u_int64_t codel_control_law(u_int64_t t, u_int64_t, u_int32_t); ++ ++#define codel_time_after(a, b) ((int64_t)(a) - (int64_t)(b) > 0) ++#define codel_time_after_eq(a, b) ((int64_t)(a) - (int64_t)(b) >= 0) ++#define codel_time_before(a, b) ((int64_t)(a) - (int64_t)(b) < 0) ++#define codel_time_before_eq(a, b) ((int64_t)(a) - (int64_t)(b) <= 0) ++ ++static int codel_request(struct ifaltq *, int, void *); ++ ++static int codel_enqueue(struct ifaltq *, struct mbuf *, struct altq_pktattr *); ++static struct mbuf *codel_dequeue(struct ifaltq *, int); ++ ++int ++codel_pfattach(struct pf_altq *a) ++{ ++ struct ifnet *ifp; ++ int s, error; ++ ++ if ((ifp = ifunit(a->ifname)) == NULL || a->altq_disc == NULL) ++ return (EINVAL); ++#ifdef __NetBSD__ ++ s = splnet(); ++#else ++ s = splimp(); ++#endif ++ error = altq_attach(&ifp->if_snd, ALTQT_CODEL, a->altq_disc, ++ codel_enqueue, codel_dequeue, codel_request, NULL, NULL); ++ splx(s); ++ return (error); ++} ++ ++int ++codel_add_altq(struct pf_altq *a) ++{ ++ struct codel_if *cif; ++ struct ifnet *ifp; ++ struct codel_opts *opts; ++ ++ if ((ifp = ifunit(a->ifname)) == NULL) ++ return (EINVAL); ++ if (!ALTQ_IS_READY(&ifp->if_snd)) ++ return (ENODEV); ++ ++ opts = &a->pq_u.codel_opts; ++ ++ cif = malloc(sizeof(struct codel_if), M_DEVBUF, M_NOWAIT | M_ZERO); ++ if (cif == NULL) ++ return (ENOMEM); ++ cif->cif_bandwidth = a->ifbandwidth; ++ cif->cif_ifq = &ifp->if_snd; ++ ++ cif->cl_q = malloc(sizeof(class_queue_t), M_DEVBUF, M_NOWAIT | M_ZERO); ++ if (cif->cl_q == NULL) { ++ free(cif, M_DEVBUF); ++ return (ENOMEM); ++ } ++ ++ if (a->qlimit == 0) ++ a->qlimit = 100; ++ qlimit(cif->cl_q) = a->qlimit; ++ qtype(cif->cl_q) = Q_CODEL; ++ qlen(cif->cl_q) = 0; ++ qsize(cif->cl_q) = 0; ++ ++ if (!opts->target) ++ opts->target = a->qlimit; ++ if (!opts->interval) ++ opts->interval = 5; ++ cif->codel.params.target = machclk_freq * opts->target / 1000; ++ cif->codel.params.interval = machclk_freq * opts->interval / 1000; ++ cif->codel.params.ecn = opts->ecn; ++ cif->codel.stats.maxpacket = 256; ++ ++ cif->cl_stats.qlength = qlen(cif->cl_q); ++ cif->cl_stats.qlimit = qlimit(cif->cl_q); ++ ++ /* keep the state in pf_altq */ ++ a->altq_disc = cif; ++ ++ return (0); ++} ++ ++int ++codel_remove_altq(struct pf_altq *a) ++{ ++ struct codel_if *cif; ++ ++ if ((cif = a->altq_disc) == NULL) ++ return (EINVAL); ++ a->altq_disc = NULL; ++ ++ if (cif->cl_q) ++ free(cif->cl_q, M_DEVBUF); ++ free(cif, M_DEVBUF); ++ return (0); ++} ++ ++int ++codel_getqstats(struct pf_altq *a, void *ubuf, int *nbytes) ++{ ++ struct codel_if *cif; ++ struct codel_ifstats stats; ++ int error = 0; ++ ++ if ((cif = altq_lookup(a->ifname, ALTQT_CODEL)) == NULL) ++ return (EBADF); ++ ++ if (*nbytes < sizeof(stats)) ++ return (EINVAL); ++ ++ stats = cif->cl_stats; ++ stats.stats = cif->codel.stats; ++ ++ if ((error = copyout((caddr_t)&stats, ubuf, sizeof(stats))) != 0) ++ return (error); ++ *nbytes = sizeof(stats); ++ return (0); ++} ++ ++static int ++codel_request(struct ifaltq *ifq, int req, void *arg) ++{ ++ struct codel_if *cif = (struct codel_if *)ifq->altq_disc; ++ struct mbuf *m; ++ ++ IFQ_LOCK_ASSERT(ifq); ++ ++ switch (req) { ++ case ALTRQ_PURGE: ++ if (!ALTQ_IS_ENABLED(cif->cif_ifq)) ++ break; ++ ++ if (qempty(cif->cl_q)) ++ break; ++ ++ while ((m = _getq(cif->cl_q)) != NULL) { ++ PKTCNTR_ADD(&cif->cl_stats.cl_dropcnt, m_pktlen(m)); ++ m_freem(m); ++ IFQ_DEC_LEN(cif->cif_ifq); ++ } ++ cif->cif_ifq->ifq_len = 0; ++ break; ++ } ++ return (0); ++} ++ ++static int ++codel_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr) ++{ ++ ++ struct codel_if *cif = (struct codel_if *) ifq->altq_disc; ++ ++ IFQ_LOCK_ASSERT(ifq); ++ ++ /* grab class set by classifier */ ++ if ((m->m_flags & M_PKTHDR) == 0) { ++ /* should not happen */ ++ printf("altq: packet for %s does not have pkthdr\n", ++ ifq->altq_ifp->if_xname); ++ m_freem(m); ++ PKTCNTR_ADD(&cif->cl_stats.cl_dropcnt, m_pktlen(m)); ++ return (ENOBUFS); ++ } ++ ++ if (codel_addq(&cif->codel, cif->cl_q, m)) { ++ PKTCNTR_ADD(&cif->cl_stats.cl_dropcnt, m_pktlen(m)); ++ return (ENOBUFS); ++ } ++ IFQ_INC_LEN(ifq); ++ ++ return (0); ++} ++ ++static struct mbuf * ++codel_dequeue(struct ifaltq *ifq, int op) ++{ ++ struct codel_if *cif = (struct codel_if *)ifq->altq_disc; ++ struct mbuf *m; ++ ++ IFQ_LOCK_ASSERT(ifq); ++ ++ if (IFQ_IS_EMPTY(ifq)) ++ return (NULL); ++ ++ if (op == ALTDQ_POLL) ++ return (qhead(cif->cl_q)); ++ ++ ++ m = codel_getq(&cif->codel, cif->cl_q); ++ if (m != NULL) { ++ IFQ_DEC_LEN(ifq); ++ PKTCNTR_ADD(&cif->cl_stats.cl_xmitcnt, m_pktlen(m)); ++ return (m); ++ } ++ ++ return (NULL); ++} ++ ++struct codel * ++codel_alloc(int target, int interval, int ecn) ++{ ++ struct codel *c; ++ ++ c = malloc(sizeof(*c), M_DEVBUF, M_NOWAIT|M_ZERO); ++ ++ c->params.target = machclk_freq * target / 1000; ++ c->params.interval = machclk_freq * interval / 1000; ++ c->params.ecn = ecn; ++ c->stats.maxpacket = 256; ++ ++ return (c); ++} ++ ++void ++codel_destroy(struct codel *c) ++{ ++ free(c, M_DEVBUF); ++} ++ ++int ++codel_addq(struct codel *c, class_queue_t *q, struct mbuf *m) ++{ ++ if (qlen(q) < qlimit(q)) { ++ m->m_pkthdr.enqueue_time = read_machclk(); ++ _addq(q, m); ++ return (0); ++ } ++ c->drop_overlimit++; ++ m_freem(m); ++ return (-1); ++} ++ ++static int ++codel_should_drop(struct codel *c, class_queue_t *q, struct mbuf *m, ++ u_int64_t now) ++{ ++ if (m == NULL) { ++ c->vars.first_above_time = 0; ++ return (0); ++ } ++ ++ c->vars.ldelay = now - m->m_pkthdr.enqueue_time; ++ c->stats.maxpacket = MAX(c->stats.maxpacket, m_pktlen(m)); ++ ++ if (codel_time_before(c->vars.ldelay, c->params.target) || ++ qsize(q) <= c->stats.maxpacket) { ++ /* went below - stay below for at least interval */ ++ c->vars.first_above_time = 0; ++ return (0); ++ } ++ if (c->vars.first_above_time == 0) { ++ /* just went above from below. If we stay above ++ * for at least interval we'll say it's ok to drop ++ */ ++ c->vars.first_above_time = now + c->params.interval; ++ return (0); ++ } ++ if (codel_time_after(now, c->vars.first_above_time)) ++ return (1); ++ return (0); ++} ++ ++/* ++ * http://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Iterative_methods_for_reciprocal_square_roots ++ * new_invsqrt = (invsqrt / 2) * (3 - count * invsqrt^2) ++ * ++ * Here, invsqrt is a fixed point number (< 1.0), 32bit mantissa, aka Q0.32 ++ */ ++static void codel_Newton_step(struct codel_vars *vars) ++{ ++#define REC_INV_SQRT_BITS (8 * sizeof(u_int16_t)) /* or sizeof_in_bits(rec_inv_sqrt) */ ++/* needed shift to get a Q0.32 number from rec_inv_sqrt */ ++#define REC_INV_SQRT_SHIFT (32 - REC_INV_SQRT_BITS) ++ ++ u_int32_t invsqrt = ((u_int32_t)vars->rec_inv_sqrt) << REC_INV_SQRT_SHIFT; ++ u_int32_t invsqrt2 = ((u_int64_t)invsqrt * invsqrt) >> 32; ++ u_int64_t val = (3LL << 32) - ((u_int64_t)vars->count * invsqrt2); ++ ++ val >>= 2; /* avoid overflow in following multiply */ ++ val = (val * invsqrt) >> (32 - 2 + 1); ++ ++ vars->rec_inv_sqrt = val >> REC_INV_SQRT_SHIFT; ++} ++ ++static u_int64_t ++codel_control_law(u_int64_t t, u_int64_t interval, u_int32_t rec_inv_sqrt) ++{ ++ return (t + (u_int32_t)(((u_int64_t)interval * ++ (rec_inv_sqrt << REC_INV_SQRT_SHIFT)) >> 32)); ++} ++ ++struct mbuf * ++codel_getq(struct codel *c, class_queue_t *q) ++{ ++ struct mbuf *m; ++ u_int64_t now; ++ int drop; ++ ++ if ((m = _getq(q)) == NULL) { ++ c->vars.dropping = 0; ++ return (m); ++ } ++ ++ now = read_machclk(); ++ drop = codel_should_drop(c, q, m, now); ++ if (c->vars.dropping) { ++ if (!drop) { ++ /* sojourn time below target - leave dropping state */ ++ c->vars.dropping = 0; ++ } else if (codel_time_after_eq(now, c->vars.drop_next)) { ++ /* It's time for the next drop. Drop the current ++ * packet and dequeue the next. The dequeue might ++ * take us out of dropping state. ++ * If not, schedule the next drop. ++ * A large backlog might result in drop rates so high ++ * that the next drop should happen now, ++ * hence the while loop. ++ */ ++ while (c->vars.dropping && ++ codel_time_after_eq(now, c->vars.drop_next)) { ++ c->vars.count++; /* don't care of possible wrap ++ * since there is no more ++ * divide */ ++ codel_Newton_step(&c->vars); ++ /* TODO ECN */ ++ PKTCNTR_ADD(&c->stats.drop_cnt, m_pktlen(m)); ++ m_freem(m); ++ m = _getq(q); ++ if (!codel_should_drop(c, q, m, now)) ++ /* leave dropping state */ ++ c->vars.dropping = 0; ++ else ++ /* and schedule the next drop */ ++ c->vars.drop_next = ++ codel_control_law(c->vars.drop_next, ++ c->params.interval, ++ c->vars.rec_inv_sqrt); ++ } ++ } ++ } else if (drop) { ++ /* TODO ECN */ ++ PKTCNTR_ADD(&c->stats.drop_cnt, m_pktlen(m)); ++ m_freem(m); ++ ++ m = _getq(q); ++ drop = codel_should_drop(c, q, m, now); ++ ++ c->vars.dropping = 1; ++ /* if min went above target close to when we last went below it ++ * assume that the drop rate that controlled the queue on the ++ * last cycle is a good starting point to control it now. ++ */ ++ if (codel_time_before(now - c->vars.drop_next, ++ 16 * c->params.interval)) { ++ c->vars.count = (c->vars.count - c->vars.lastcount) | 1; ++ /* we dont care if rec_inv_sqrt approximation ++ * is not very precise : ++ * Next Newton steps will correct it quadratically. ++ */ ++ codel_Newton_step(&c->vars); ++ } else { ++ c->vars.count = 1; ++ c->vars.rec_inv_sqrt = ~0U >> REC_INV_SQRT_SHIFT; ++ } ++ c->vars.lastcount = c->vars.count; ++ c->vars.drop_next = codel_control_law(now, c->params.interval, ++ c->vars.rec_inv_sqrt); ++ } ++ ++ return m; ++} ++ ++void ++codel_getstats(struct codel *c, struct codel_stats *s) ++{ ++ *s = c->stats; ++} +diff --git a/sys/contrib/altq/altq/altq_codel.h b/sys/contrib/altq/altq/altq_codel.h +new file mode 100644 +index 0000000..9413ae1 +--- /dev/null ++++ b/sys/contrib/altq/altq/altq_codel.h +@@ -0,0 +1,87 @@ ++#ifndef _ALTQ_ALTQ_CODEL_H_ ++#define _ALTQ_ALTQ_CODEL_H_ ++ ++struct codel_stats { ++ u_int32_t maxpacket; ++ struct pktcntr drop_cnt; ++ u_int marked_packets; ++}; ++ ++struct codel_ifstats { ++ u_int qlength; ++ u_int qlimit; ++ struct codel_stats stats; ++ struct pktcntr cl_xmitcnt; /* transmitted packet counter */ ++ struct pktcntr cl_dropcnt; /* dropped packet counter */ ++}; ++ ++#ifdef _KERNEL ++#include ++ ++/** ++ * struct codel_params - contains codel parameters ++ * target: target queue size (in time units) ++ * interval: width of moving time window ++ * ecn: is Explicit Congestion Notification enabled ++ */ ++struct codel_params { ++ u_int64_t target; ++ u_int64_t interval; ++ int ecn; ++}; ++ ++/** ++ * struct codel_vars - contains codel variables ++ * count: how many drops we've done since the last time we ++ * entered dropping state ++ * lastcount: count at entry to dropping state ++ * dropping: set to true if in dropping state ++ * rec_inv_sqrt: reciprocal value of sqrt(count) >> 1 ++ * first_above_time: when we went (or will go) continuously above target ++ * for interval ++ * drop_next: time to drop next packet, or when we dropped last ++ * ldelay: sojourn time of last dequeued packet ++ */ ++struct codel_vars { ++ u_int32_t count; ++ u_int32_t lastcount; ++ int dropping; ++ u_int16_t rec_inv_sqrt; ++ u_int64_t first_above_time; ++ u_int64_t drop_next; ++ u_int64_t ldelay; ++}; ++ ++struct codel { ++ struct codel_params params; ++ struct codel_vars vars; ++ struct codel_stats stats; ++ u_int32_t drop_overlimit; ++}; ++ ++/* ++ * codel interface state ++ */ ++struct codel_if { ++ struct codel_if *cif_next; /* interface state list */ ++ struct ifaltq *cif_ifq; /* backpointer to ifaltq */ ++ u_int cif_bandwidth; /* link bandwidth in bps */ ++ ++ class_queue_t *cl_q; /* class queue structure */ ++ struct codel codel; ++ ++ /* statistics */ ++ struct codel_ifstats cl_stats; ++}; ++ ++struct codel; ++ ++struct codel *codel_alloc(int, int, int); ++void codel_destroy(struct codel *); ++int codel_addq(struct codel *, class_queue_t *, struct mbuf *); ++struct mbuf *codel_getq(struct codel *, class_queue_t *); ++void codel_getstats(struct codel *, struct codel_stats *); ++ ++#endif ++ ++#endif /* _ALTQ_ALTQ_CODEL_H_ */ +diff --git a/sys/contrib/altq/altq/altq_fairq.c b/sys/contrib/altq/altq/altq_fairq.c +index 2267bfd..2277aa8 100644 +--- a/sys/contrib/altq/altq/altq_fairq.c ++++ b/sys/contrib/altq/altq/altq_fairq.c +@@ -156,10 +156,7 @@ fairq_add_altq(struct pf_altq *a) + + + MALLOC(pif, struct fairq_if *, sizeof(struct fairq_if), +- M_DEVBUF, M_WAITOK); +- if (pif == NULL) +- return (ENOMEM); +- bzero(pif, sizeof(struct fairq_if)); ++ M_DEVBUF, M_WAITOK|M_ZERO); + pif->pif_bandwidth = a->ifbandwidth; + pif->pif_maxpri = -1; + pif->pif_ifq = &ifp->if_snd; +@@ -318,6 +315,14 @@ fairq_class_create(struct fairq_if *pif, int pri, int qlimit, + return (NULL); + } + #endif ++#ifndef ALTQ_CODEL ++ if (flags & FARF_CODEL) { ++#ifdef ALTQ_DEBUG ++ printf("fairq_class_create: CODEL not configured for FAIRQ!\n"); ++#endif ++ return (NULL); ++ } ++#endif + if (nbuckets == 0) + nbuckets = 256; + if (nbuckets > FAIRQ_MAX_BUCKETS) +@@ -342,6 +347,10 @@ fairq_class_create(struct fairq_if *pif, int pri, int qlimit, + if (cl->cl_qtype == Q_RED) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (cl->cl_qtype == Q_CODEL) ++ codel_destroy(cl->cl_codel); ++#endif + } else { + MALLOC(cl, struct fairq_class *, sizeof(struct fairq_class), + M_DEVBUF, M_WAITOK); +@@ -415,6 +424,12 @@ fairq_class_create(struct fairq_if *pif, int pri, int qlimit, + } + } + #endif /* ALTQ_RED */ ++#ifdef ALTQ_CODEL ++ if (flags & FARF_CODEL) { ++ cl->cl_codel = codel_alloc(100, 5, 0); ++ cl->cl_qtype = Q_CODEL; ++ } ++#endif + + return (cl); + +@@ -431,6 +446,10 @@ err_ret: + if (cl->cl_qtype == Q_RED) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (cl->cl_qtype == Q_CODEL) ++ codel_destroy(cl->cl_codel); ++#endif + } + if (cl != NULL) + FREE(cl, M_DEVBUF); +@@ -474,6 +493,10 @@ fairq_class_destroy(struct fairq_class *cl) + if (cl->cl_qtype == Q_RED) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (cl->cl_qtype == Q_CODEL) ++ codel_destroy(cl->cl_codel); ++#endif + } + FREE(cl->cl_buckets, M_DEVBUF); + cl->cl_head = NULL; /* sanity */ +@@ -671,6 +694,10 @@ fairq_addq(struct fairq_class *cl, struct mbuf *m, u_int32_t bucketid) + if (cl->cl_qtype == Q_RED) + return red_addq(cl->cl_red, &b->queue, m, cl->cl_pktattr); + #endif ++#ifdef ALTQ_CODEL ++ if (cl->cl_qtype == Q_CODEL) ++ return codel_addq(cl->cl_codel, &b->queue, m); ++#endif + if (qlen(&b->queue) >= qlimit(&b->queue)) { + m_freem(m); + return (-1); +@@ -701,6 +728,10 @@ fairq_getq(struct fairq_class *cl, uint64_t cur_time) + else if (cl->cl_qtype == Q_RED) + m = red_getq(cl->cl_red, &b->queue); + #endif ++#ifdef ALTQ_CODEL ++ else if (cl->cl_qtype == Q_CODEL) ++ m = codel_getq(cl->cl_codel, &b->queue); ++#endif + else + m = _getq(&b->queue); + +@@ -882,6 +913,10 @@ get_class_stats(struct fairq_classstats *sp, struct fairq_class *cl) + if (cl->cl_qtype == Q_RIO) + rio_getstats((rio_t *)cl->cl_red, &sp->red[0]); + #endif ++#ifdef ALTQ_CODEL ++ if (cl->cl_qtype == Q_CODEL) ++ codel_getstats(cl->cl_codel, &sp->codel); ++#endif + } + + /* convert a class handle to the corresponding class pointer */ +diff --git a/sys/contrib/altq/altq/altq_fairq.h b/sys/contrib/altq/altq/altq_fairq.h +index e4675e0..f13513b 100644 +--- a/sys/contrib/altq/altq/altq_fairq.h ++++ b/sys/contrib/altq/altq/altq_fairq.h +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + + #define FAIRQ_MAX_BUCKETS 2048 /* maximum number of sorting buckets */ + #define FAIRQ_MAXPRI RM_MAXPRIO +@@ -52,6 +53,7 @@ + #define FARF_RED 0x0001 /* use RED */ + #define FARF_ECN 0x0002 /* use RED/ECN */ + #define FARF_RIO 0x0004 /* use RIO */ ++#define FARF_CODEL 0x0008 /* use CODEL */ + #define FARF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ + #define FARF_DEFAULTCLASS 0x1000 /* default class */ + +@@ -76,6 +78,7 @@ struct fairq_classstats { + /* red and rio related info */ + int qtype; + struct redstats red[3]; /* rio has 3 red stats */ ++ struct codel_stats codel; + }; + + #ifdef _KERNEL +@@ -97,7 +100,10 @@ struct fairq_class { + fairq_bucket_t *cl_buckets; + fairq_bucket_t *cl_head; /* head of circular bucket list */ + fairq_bucket_t *cl_polled; +- struct red *cl_red; /* RED state */ ++ union { ++ struct red *cl_red; /* RED state */ ++ struct codel *cl_codel; ++ } cl_aqm; + u_int cl_hogs_m1; + u_int cl_lssc_m1; + u_int cl_bandwidth; +@@ -117,6 +123,8 @@ struct fairq_class { + struct pktcntr cl_xmitcnt; /* transmitted packet counter */ + struct pktcntr cl_dropcnt; /* dropped packet counter */ + }; ++#define cl_red cl_aqm.cl_red ++#define cl_codel cl_aqm.cl_codel + + /* + * fairq interface state +diff --git a/sys/contrib/altq/altq/altq_hfsc.c b/sys/contrib/altq/altq/altq_hfsc.c +index f436bd5..836d6f9 100644 +--- a/sys/contrib/altq/altq/altq_hfsc.c ++++ b/sys/contrib/altq/altq/altq_hfsc.c +@@ -388,6 +388,14 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc, + return (NULL); + } + #endif ++#ifndef ALTQ_CODEL ++ if (flags & HFCF_CODEL) { ++#ifdef ALTQ_DEBUG ++ printf("hfsc_class_create: CODEL not configured for HFSC!\n"); ++#endif ++ return (NULL); ++ } ++#endif + + cl = malloc(sizeof(struct hfsc_class), M_DEVBUF, M_NOWAIT | M_ZERO); + if (cl == NULL) +@@ -404,6 +412,7 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc, + qlimit(cl->cl_q) = qlimit; + qtype(cl->cl_q) = Q_DROPTAIL; + qlen(cl->cl_q) = 0; ++ qsize(cl->cl_q) = 0; + cl->cl_flags = flags; + #ifdef ALTQ_RED + if (flags & (HFCF_RED|HFCF_RIO)) { +@@ -448,6 +457,12 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc, + #endif + } + #endif /* ALTQ_RED */ ++#ifdef ALTQ_CODEL ++ if (flags & HFCF_CODEL) { ++ cl->cl_codel = codel_alloc(100, 5, 0); ++ qtype(cl->cl_q) = Q_CODEL; ++ } ++#endif + + if (rsc != NULL && (rsc->m1 != 0 || rsc->m2 != 0)) { + cl->cl_rsc = malloc(sizeof(struct internal_sc), +@@ -540,6 +555,10 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc, + if (q_is_red(cl->cl_q)) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ codel_destroy(cl->cl_codel); ++#endif + } + if (cl->cl_fsc != NULL) + free(cl->cl_fsc, M_DEVBUF); +@@ -614,6 +633,10 @@ hfsc_class_destroy(struct hfsc_class *cl) + if (q_is_red(cl->cl_q)) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ codel_destroy(cl->cl_codel); ++#endif + } + + IFQ_LOCK(cl->cl_hif->hif_ifq); +@@ -841,6 +864,10 @@ hfsc_addq(struct hfsc_class *cl, struct mbuf *m) + if (q_is_red(cl->cl_q)) + return red_addq(cl->cl_red, cl->cl_q, m, cl->cl_pktattr); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ return codel_addq(cl->cl_codel, cl->cl_q, m); ++#endif + if (qlen(cl->cl_q) >= qlimit(cl->cl_q)) { + m_freem(m); + return (-1); +@@ -865,6 +892,10 @@ hfsc_getq(struct hfsc_class *cl) + if (q_is_red(cl->cl_q)) + return red_getq(cl->cl_red, cl->cl_q); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ return codel_getq(cl->cl_codel, cl->cl_q); ++#endif + return _getq(cl->cl_q); + } + +@@ -1649,6 +1680,10 @@ get_class_stats(struct hfsc_classstats *sp, struct hfsc_class *cl) + if (q_is_rio(cl->cl_q)) + rio_getstats((rio_t *)cl->cl_red, &sp->red[0]); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ codel_getstats(cl->cl_codel, &sp->codel); ++#endif + } + + /* convert a class handle to the corresponding class pointer */ +diff --git a/sys/contrib/altq/altq/altq_hfsc.h b/sys/contrib/altq/altq/altq_hfsc.h +index e5595cb..c8e9b13 100644 +--- a/sys/contrib/altq/altq/altq_hfsc.h ++++ b/sys/contrib/altq/altq/altq_hfsc.h +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + + #ifdef __cplusplus + extern "C" { +@@ -55,6 +56,7 @@ struct service_curve { + #define HFCF_RED 0x0001 /* use RED */ + #define HFCF_ECN 0x0002 /* use RED/ECN */ + #define HFCF_RIO 0x0004 /* use RIO */ ++#define HFCF_CODEL 0x0008 /* use CODEL */ + #define HFCF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ + #define HFCF_DEFAULTCLASS 0x1000 /* default class */ + +@@ -104,6 +106,7 @@ struct hfsc_classstats { + /* red and rio related info */ + int qtype; + struct redstats red[3]; ++ struct codel_stats codel; + }; + + #ifdef ALTQ3_COMPAT +@@ -229,7 +232,10 @@ struct hfsc_class { + struct hfsc_class *cl_children; /* child classes */ + + class_queue_t *cl_q; /* class queue structure */ +- struct red *cl_red; /* RED state */ ++ union { ++ struct red *cl_red; /* RED state */ ++ struct codel *cl_codel; /* CoDel state */ ++ } cl_aqm; + struct altq_pktattr *cl_pktattr; /* saved header used by ECN */ + + u_int64_t cl_total; /* total work in bytes */ +@@ -278,6 +284,8 @@ struct hfsc_class { + u_int period; + } cl_stats; + }; ++#define cl_red cl_aqm.cl_red ++#define cl_codel cl_aqm.cl_codel + + /* + * hfsc interface state +diff --git a/sys/contrib/altq/altq/altq_priq.c b/sys/contrib/altq/altq/altq_priq.c +index 72bad80..c3e2b00 100644 +--- a/sys/contrib/altq/altq/altq_priq.c ++++ b/sys/contrib/altq/altq/altq_priq.c +@@ -294,6 +294,15 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid) + return (NULL); + } + #endif ++#ifndef ALTQ_CODEL ++ if (flags & PRCF_CODEL) { ++#ifdef ALTQ_DEBUG ++ printf("priq_class_create: CODEL not configured for PRIQ!\n"); ++#endif ++ return (NULL); ++ } ++#endif ++ + + if ((cl = pif->pif_classes[pri]) != NULL) { + /* modify the class instead of creating a new one */ +@@ -315,6 +324,10 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid) + if (q_is_red(cl->cl_q)) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ codel_destroy(cl->cl_codel); ++#endif + } else { + cl = malloc(sizeof(struct priq_class), M_DEVBUF, + M_NOWAIT | M_ZERO); +@@ -335,6 +348,7 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid) + qlimit(cl->cl_q) = qlimit; + qtype(cl->cl_q) = Q_DROPTAIL; + qlen(cl->cl_q) = 0; ++ qsize(cl->cl_q) = 0; + cl->cl_flags = flags; + cl->cl_pri = pri; + if (pri > pif->pif_maxpri) +@@ -378,6 +392,12 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid) + } + } + #endif /* ALTQ_RED */ ++#ifdef ALTQ_CODEL ++ if (flags & PRCF_CODEL) { ++ cl->cl_codel = codel_alloc(100, 5, 0); ++ qtype(cl->cl_q) = Q_CODEL; ++ } ++#endif + + return (cl); + +@@ -391,6 +411,10 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid) + if (q_is_red(cl->cl_q)) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ codel_destroy(cl->cl_codel); ++#endif + } + if (cl->cl_q != NULL) + free(cl->cl_q, M_DEVBUF); +@@ -442,6 +466,10 @@ priq_class_destroy(struct priq_class *cl) + if (q_is_red(cl->cl_q)) + red_destroy(cl->cl_red); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ codel_destroy(cl->cl_codel); ++#endif + } + free(cl->cl_q, M_DEVBUF); + free(cl, M_DEVBUF); +@@ -557,6 +585,10 @@ priq_addq(struct priq_class *cl, struct mbuf *m) + if (q_is_red(cl->cl_q)) + return red_addq(cl->cl_red, cl->cl_q, m, cl->cl_pktattr); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ return codel_addq(cl->cl_codel, cl->cl_q, m); ++#endif + if (qlen(cl->cl_q) >= qlimit(cl->cl_q)) { + m_freem(m); + return (-1); +@@ -581,6 +613,10 @@ priq_getq(struct priq_class *cl) + if (q_is_red(cl->cl_q)) + return red_getq(cl->cl_red, cl->cl_q); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ return codel_getq(cl->cl_codel, cl->cl_q); ++#endif + return _getq(cl->cl_q); + } + +@@ -625,6 +661,10 @@ get_class_stats(struct priq_classstats *sp, struct priq_class *cl) + if (q_is_rio(cl->cl_q)) + rio_getstats((rio_t *)cl->cl_red, &sp->red[0]); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->cl_q)) ++ codel_getstats(cl->cl_codel, &sp->codel); ++#endif + + } + +diff --git a/sys/contrib/altq/altq/altq_priq.h b/sys/contrib/altq/altq/altq_priq.h +index 481d31b..b5b062f 100644 +--- a/sys/contrib/altq/altq/altq_priq.h ++++ b/sys/contrib/altq/altq/altq_priq.h +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + #ifdef __cplusplus + extern "C" { +@@ -59,6 +60,7 @@ struct priq_add_class { + #define PRCF_RED 0x0001 /* use RED */ + #define PRCF_ECN 0x0002 /* use RED/ECN */ + #define PRCF_RIO 0x0004 /* use RIO */ ++#define PRCF_CODEL 0x0008 /* use CODEL */ + #define PRCF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ + #define PRCF_DEFAULTCLASS 0x1000 /* default class */ + +@@ -105,6 +107,7 @@ struct priq_classstats { + /* red and rio related info */ + int qtype; + struct redstats red[3]; /* rio has 3 red stats */ ++ struct codel_stats codel; + }; + + #ifdef ALTQ3_COMPAT +@@ -134,7 +137,10 @@ struct priq_class_stats { + struct priq_class { + u_int32_t cl_handle; /* class handle */ + class_queue_t *cl_q; /* class queue structure */ +- struct red *cl_red; /* RED state */ ++ union { ++ struct red *cl_red; /* RED state */ ++ struct codel *cl_codel; /* CoDel state */ ++ } cl_aqm; + int cl_pri; /* priority */ + int cl_flags; /* class flags */ + struct priq_if *cl_pif; /* back pointer to pif */ +@@ -145,7 +151,8 @@ struct priq_class { + struct pktcntr cl_xmitcnt; /* transmitted packet counter */ + struct pktcntr cl_dropcnt; /* dropped packet counter */ + }; +- ++#define cl_red cl_aqm.cl_red ++#define cl_codel cl_aqm.cl_codel + /* + * priq interface state + */ +diff --git a/sys/contrib/altq/altq/altq_rmclass.c b/sys/contrib/altq/altq/altq_rmclass.c +index 83a8720..27616f5 100644 +--- a/sys/contrib/altq/altq/altq_rmclass.c ++++ b/sys/contrib/altq/altq/altq_rmclass.c +@@ -70,6 +70,7 @@ + #include + #include + #include ++#include + + /* + * Local Macros +@@ -216,6 +217,14 @@ rmc_newclass(int pri, struct rm_ifdat *ifd, u_int nsecPerByte, + return (NULL); + } + #endif ++#ifndef ALTQ_CODEL ++ if (flags & RMCF_CODEL) { ++#ifdef ALTQ_DEBUG ++ printf("rmc_newclass: CODEL not configured for CBQ!\n"); ++#endif ++ return (NULL); ++ } ++#endif + + cl = malloc(sizeof(struct rm_class), M_DEVBUF, M_NOWAIT | M_ZERO); + if (cl == NULL) +@@ -300,6 +309,12 @@ rmc_newclass(int pri, struct rm_ifdat *ifd, u_int nsecPerByte, + #endif + } + #endif /* ALTQ_RED */ ++#ifdef ALTQ_CODEL ++ if (flags & RMCF_CODEL) { ++ cl->codel_ = codel_alloc(100, 5, 0); ++ qtype(cl->q_) = Q_CODEL; ++ } ++#endif + + /* + * put the class into the class tree +@@ -650,6 +665,10 @@ rmc_delete_class(struct rm_ifdat *ifd, struct rm_class *cl) + if (q_is_red(cl->q_)) + red_destroy(cl->red_); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->q_)) ++ codel_destroy(cl->codel_); ++#endif + } + free(cl->q_, M_DEVBUF); + free(cl, M_DEVBUF); +@@ -1616,6 +1635,10 @@ _rmc_addq(rm_class_t *cl, mbuf_t *m) + if (q_is_red(cl->q_)) + return red_addq(cl->red_, cl->q_, m, cl->pktattr_); + #endif /* ALTQ_RED */ ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->q_)) ++ return codel_addq(cl->codel_, cl->q_, m); ++#endif /* ALTQ_RED */ + + if (cl->flags_ & RMCF_CLEARDSCP) + write_dsfield(m, cl->pktattr_, 0); +@@ -1645,6 +1668,10 @@ _rmc_getq(rm_class_t *cl) + if (q_is_red(cl->q_)) + return red_getq(cl->red_, cl->q_); + #endif ++#ifdef ALTQ_CODEL ++ if (q_is_codel(cl->q_)) ++ return codel_getq(cl->codel_, cl->q_); ++#endif + return _getq(cl->q_); + } + +@@ -1715,7 +1742,7 @@ void cbqtrace_dump(int counter) + #endif /* CBQ_TRACE */ + #endif /* ALTQ_CBQ */ + +-#if defined(ALTQ_CBQ) || defined(ALTQ_RED) || defined(ALTQ_RIO) || defined(ALTQ_HFSC) || defined(ALTQ_PRIQ) ++#if defined(ALTQ_CBQ) || defined(ALTQ_RED) || defined(ALTQ_RIO) || defined(ALTQ_HFSC) || defined(ALTQ_PRIQ) || defined(ALTQ_CODEL) + #if !defined(__GNUC__) || defined(ALTQ_DEBUG) + + void +diff --git a/sys/contrib/altq/altq/altq_rmclass.h b/sys/contrib/altq/altq/altq_rmclass.h +index cf0ddf4..bd87591 100644 +--- a/sys/contrib/altq/altq/altq_rmclass.h ++++ b/sys/contrib/altq/altq/altq_rmclass.h +@@ -53,6 +53,7 @@ typedef struct rm_ifdat rm_ifdat_t; + typedef struct rm_class rm_class_t; + + struct red; ++struct codel; + + /* + * Macros for dealing with time values. We assume all times are +@@ -164,7 +165,10 @@ struct rm_class { + void (*overlimit)(struct rm_class *, struct rm_class *); + void (*drop)(struct rm_class *); /* Class drop action. */ + +- struct red *red_; /* RED state pointer */ ++ union { ++ struct red *red_; /* RED state pointer */ ++ struct codel *codel; ++ } cl_aqm; + struct altq_pktattr *pktattr_; /* saved hdr used by RED/ECN */ + int flags_; + +@@ -176,6 +180,8 @@ struct rm_class { + + rm_class_stats_t stats_; /* Class Statistics */ + }; ++#define red_ cl_aqm.red_ ++#define codel_ cl_aqm.codel + + /* + * CBQ Interface state +@@ -233,6 +239,7 @@ struct rm_ifdat { + #define RMCF_RIO 0x0004 + #define RMCF_FLOWVALVE 0x0008 /* use flowvalve (aka penalty-box) */ + #define RMCF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ ++#define RMCF_CODEL 0x0040 + + /* flags for rmc_init */ + #define RMCF_WRR 0x0100 +diff --git a/sys/contrib/altq/altq/altq_subr.c b/sys/contrib/altq/altq/altq_subr.c +index 0e0cc83..06057ce 100644 +--- a/sys/contrib/altq/altq/altq_subr.c ++++ b/sys/contrib/altq/altq/altq_subr.c +@@ -540,6 +540,11 @@ altq_pfattach(struct pf_altq *a) + error = fairq_pfattach(a); + break; + #endif ++#ifdef ALTQ_CODEL ++ case ALTQT_CODEL: ++ error = codel_pfattach(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -620,6 +625,11 @@ altq_add(struct pf_altq *a) + error = fairq_add_altq(a); + break; + #endif ++#ifdef ALTQ_CODEL ++ case ALTQT_CODEL: ++ error = codel_add_altq(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -661,6 +671,11 @@ altq_remove(struct pf_altq *a) + error = fairq_remove_altq(a); + break; + #endif ++#ifdef ALTQ_CODEL ++ case ALTQT_CODEL: ++ error = codel_remove_altq(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -775,6 +790,11 @@ altq_getqstats(struct pf_altq *a, void *ubuf, int *nbytes) + error = fairq_getqstats(a, ubuf, nbytes); + break; + #endif ++#ifdef ALTQ_CODEL ++ case ALTQT_CODEL: ++ error = codel_getqstats(a, ubuf, nbytes); ++ break; ++#endif + default: + error = ENXIO; + } +diff --git a/sys/contrib/altq/altq/altq_var.h b/sys/contrib/altq/altq/altq_var.h +index eb603ea..6ea7b7c 100644 +--- a/sys/contrib/altq/altq/altq_var.h ++++ b/sys/contrib/altq/altq/altq_var.h +@@ -250,6 +250,11 @@ int priq_add_queue(struct pf_altq *); + int priq_remove_queue(struct pf_altq *); + int priq_getqstats(struct pf_altq *, void *, int *); + ++int codel_pfattach(struct pf_altq *); ++int codel_add_altq(struct pf_altq *); ++int codel_remove_altq(struct pf_altq *); ++int codel_getqstats(struct pf_altq *, void *, int *); ++ + int hfsc_pfattach(struct pf_altq *); + int hfsc_add_altq(struct pf_altq *); + int hfsc_remove_altq(struct pf_altq *); +diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h +index 89200d8..763b79a 100644 +--- a/sys/net/pfvar.h ++++ b/sys/net/pfvar.h +@@ -1389,6 +1389,12 @@ struct cbq_opts { + int flags; + }; + ++struct codel_opts { ++ u_int target; ++ u_int interval; ++ int ecn; ++}; ++ + struct priq_opts { + int flags; + }; +@@ -1450,6 +1456,7 @@ struct pf_altq { + struct priq_opts priq_opts; + struct hfsc_opts hfsc_opts; + struct fairq_opts fairq_opts; ++ struct codel_opts codel_opts; + } pq_u; + + u_int32_t qid; /* return value */ +diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h +index bc2924a..8b52f19 100644 +--- a/sys/sys/mbuf.h ++++ b/sys/sys/mbuf.h +@@ -128,6 +128,7 @@ struct pkthdr { + uint32_t flowid; /* packet's 4-tuple system */ + uint64_t csum_flags; /* checksum and offload features */ + uint16_t fibnum; /* this packet should use this fib */ ++ uint64_t enqueue_time; + uint8_t cosqos; /* class/quality of service */ + uint8_t rsstype; /* hash type */ + uint8_t l2hlen; /* layer 2 header length */ diff --git a/patches/RELENG_10_0/altq_max_queues.diff b/patches/RELENG_10_0/altq_max_queues.diff new file mode 100644 index 0000000..7fd7c85 --- /dev/null +++ b/patches/RELENG_10_0/altq_max_queues.diff @@ -0,0 +1,26 @@ +diff --git a/sys/contrib/altq/altq/altq_cbq.h b/sys/contrib/altq/altq/altq_cbq.h +index 30a15c7..76096af 100644 +--- a/sys/contrib/altq/altq/altq_cbq.h ++++ b/sys/contrib/altq/altq/altq_cbq.h +@@ -186,7 +186,7 @@ struct cbq_getstats { + #define CBQ_TIMEOUT 10 + #define CBQ_LS_TIMEOUT (20 * hz / 1000) + +-#define CBQ_MAX_CLASSES 256 ++#define CBQ_MAX_CLASSES 2048 + + #ifdef ALTQ3_COMPAT + #define CBQ_MAX_FILTERS 256 +diff --git a/sys/contrib/altq/altq/altq_hfsc.h b/sys/contrib/altq/altq/altq_hfsc.h +index d04b378..e5595cb 100644 +--- a/sys/contrib/altq/altq/altq_hfsc.h ++++ b/sys/contrib/altq/altq/altq_hfsc.h +@@ -49,7 +49,7 @@ struct service_curve { + + /* special class handles */ + #define HFSC_NULLCLASS_HANDLE 0 +-#define HFSC_MAX_CLASSES 64 ++#define HFSC_MAX_CLASSES 2048 + + /* hfsc class flags */ + #define HFCF_RED 0x0001 /* use RED */ diff --git a/patches/RELENG_10_0/beastie.4th.diff b/patches/RELENG_10_0/beastie.4th.diff new file mode 100644 index 0000000..0969145 --- /dev/null +++ b/patches/RELENG_10_0/beastie.4th.diff @@ -0,0 +1,40 @@ +Index: sys/boot/forth/beastie.4th +=================================================================== +--- sys/boot/forth/beastie.4th (revision 256917) ++++ sys/boot/forth/beastie.4th (working copy) +@@ -151,21 +150,20 @@ + + 3 + \ beastie adjustment (see `fbsdbw-logo' comments above) + +- 2dup at-xy ." ``` `" 1+ +- 2dup at-xy ." s` `.....---.......--.``` -/" 1+ +- 2dup at-xy ." +o .--` /y:` +." 1+ +- 2dup at-xy ." yo`:. :o `+-" 1+ +- 2dup at-xy ." y/ -/` -o/" 1+ +- 2dup at-xy ." .- ::/sy+:." 1+ +- 2dup at-xy ." / `-- /" 1+ +- 2dup at-xy ." `: :`" 1+ +- 2dup at-xy ." `: :`" 1+ +- 2dup at-xy ." / /" 1+ +- 2dup at-xy ." .- -." 1+ +- 2dup at-xy ." -- -." 1+ +- 2dup at-xy ." `:` `:`" 1+ +- 2dup at-xy ." .-- `--." 1+ +- at-xy ." .---.....----." ++ 2dup at-xy ." " 1+ ++ 2dup at-xy ." " 1+ ++ 2dup at-xy ." " 1+ ++ 2dup at-xy ." ______ " 1+ ++ 2dup at-xy ." / \ " 1+ ++ 2dup at-xy ." _____/ f \ " 1+ ++ 2dup at-xy ." / \ / " 1+ ++ 2dup at-xy ." / p \______/ Sense " 1+ ++ 2dup at-xy ." \ / \ " 1+ ++ 2dup at-xy ." \_____/ \ " 1+ ++ 2dup at-xy ." \ / " 1+ ++ 2dup at-xy ." \______/ " 1+ ++ 2dup at-xy ." " 1+ ++ at-xy ." " + + \ Put the cursor back at the bottom + 0 25 at-xy diff --git a/patches/RELENG_10_0/binat.RELENG_10.diff b/patches/RELENG_10_0/binat.RELENG_10.diff new file mode 100644 index 0000000..6f15a74 --- /dev/null +++ b/patches/RELENG_10_0/binat.RELENG_10.diff @@ -0,0 +1,134 @@ +diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y +index f555eae..b2a37a6 100644 +--- a/sbin/pfctl/parse.y ++++ b/sbin/pfctl/parse.y +@@ -479,8 +479,8 @@ int parseport(char *, struct range *r, int); + %type icmp6_list icmp6_item + %type reticmpspec reticmp6spec + %type fromto +-%type ipportspec from to +-%type ipspec toipspec xhost host dynaddr host_list ++%type ipportspec from to toipportspec ++%type ipspec xhost host dynaddr host_list + %type redir_host_list redirspec + %type route_host route_host_list routespec + %type os xos os_list +@@ -2813,8 +2813,8 @@ ipspec : ANY { $$ = NULL; } + | '{' optnl host_list '}' { $$ = $3; } + ; + +-toipspec : TO ipspec { $$ = $2; } +- | /* empty */ { $$ = NULL; } ++toipportspec : TO ipportspec { $$ = $2; } ++ | /* empty */ { $$.host = NULL; $$.port = NULL; } + ; + + host_list : ipspec optnl { $$ = $1; } +@@ -4083,7 +4083,7 @@ natrule : nataction interface af proto fromto tag tagged rtable + } + ; + +-binatrule : no BINAT natpasslog interface af proto FROM host toipspec tag ++binatrule : no BINAT natpasslog interface af proto FROM ipportspec toipportspec tag + tagged rtable redirection + { + struct pf_rule binat; +@@ -4091,7 +4091,7 @@ binatrule : no BINAT natpasslog interface af proto FROM host toipspec tag + + if (check_rulestate(PFCTL_STATE_NAT)) + YYERROR; +- if (disallow_urpf_failed($9, "\"urpf-failed\" is not " ++ if (disallow_urpf_failed($9.host, "\"urpf-failed\" is not " + "permitted as a binat destination")) + YYERROR; + +@@ -4109,10 +4109,10 @@ binatrule : no BINAT natpasslog interface af proto FROM host toipspec tag + binat.log = $3.b2; + binat.logif = $3.w2; + binat.af = $5; +- if (!binat.af && $8 != NULL && $8->af) +- binat.af = $8->af; +- if (!binat.af && $9 != NULL && $9->af) +- binat.af = $9->af; ++ if (!binat.af && $8.host != NULL && $8.host->af) ++ binat.af = $8.host->af; ++ if (!binat.af && $9.host != NULL && $9.host->af) ++ binat.af = $9.host->af; + + if (!binat.af && $13 != NULL && $13->host) + binat.af = $13->host->af; +@@ -4151,10 +4151,10 @@ binatrule : no BINAT natpasslog interface af proto FROM host toipspec tag + free($6); + } + +- if ($8 != NULL && disallow_table($8, "invalid use of " ++ if ($8.host != NULL && disallow_table($8.host, "invalid use of " + "table <%s> as the source address of a binat rule")) + YYERROR; +- if ($8 != NULL && disallow_alias($8, "invalid use of " ++ if ($8.host != NULL && disallow_alias($8.host, "invalid use of " + "interface (%s) as the source address of a binat " + "rule")) + YYERROR; +@@ -4167,38 +4167,46 @@ binatrule : no BINAT natpasslog interface af proto FROM host toipspec tag + "redirect address of a binat rule")) + YYERROR; + +- if ($8 != NULL) { +- if ($8->next) { ++ if ($8.host != NULL) { ++ if ($8.host->next) { + yyerror("multiple binat ip addresses"); + YYERROR; + } +- if ($8->addr.type == PF_ADDR_DYNIFTL) +- $8->af = binat.af; +- if ($8->af != binat.af) { ++ if ($8.host->addr.type == PF_ADDR_DYNIFTL) ++ $8.host->af = binat.af; ++ if ($8.host->af != binat.af) { + yyerror("binat ip versions must match"); + YYERROR; + } +- if (check_netmask($8, binat.af)) ++ if (check_netmask($8.host, binat.af)) + YYERROR; +- memcpy(&binat.src.addr, &$8->addr, ++ memcpy(&binat.src.addr, &$8.host->addr, + sizeof(binat.src.addr)); +- free($8); ++ binat.src.neg = $8.host->not; ++ free($8.host); + } +- if ($9 != NULL) { +- if ($9->next) { ++ if ($9.host != NULL) { ++ if ($9.host->next) { + yyerror("multiple binat ip addresses"); + YYERROR; + } +- if ($9->af != binat.af && $9->af) { ++ if ($9.host->af != binat.af && $9.host->af) { + yyerror("binat ip versions must match"); + YYERROR; + } +- if (check_netmask($9, binat.af)) ++ if (check_netmask($9.host, binat.af)) + YYERROR; +- memcpy(&binat.dst.addr, &$9->addr, ++ memcpy(&binat.dst.addr, &$9.host->addr, + sizeof(binat.dst.addr)); +- binat.dst.neg = $9->not; +- free($9); ++ binat.dst.neg = $9.host->not; ++ free($9.host); ++ } ++ ++ if ($9.port != NULL) { ++ binat.dst.port[0] = $9.port->port[0]; ++ binat.dst.port[1] = $9.port->port[1]; ++ binat.dst.port_op = $9.port->op; ++ free($9.port); + } + + if (binat.action == PF_NOBINAT) { diff --git a/patches/RELENG_10_0/brand.4th.diff b/patches/RELENG_10_0/brand.4th.diff new file mode 100644 index 0000000..7e24ed3 --- /dev/null +++ b/patches/RELENG_10_0/brand.4th.diff @@ -0,0 +1,28 @@ +Index: sys/boot/forth/brand.4th +=================================================================== +--- sys/boot/forth/brand.4th (revision 256917) ++++ sys/boot/forth/brand.4th (working copy) +@@ -33,15 +33,15 @@ + 2 brandX ! + 1 brandY ! + +-: fbsd-logo ( x y -- ) \ "FreeBSD" [wide] logo in B/W (7 rows x 42 columns) ++: fbsd-logo ( x y -- ) \ "pfSense" [wide] logo in B/W (7 rows x 42 columns) + +- 2dup at-xy ." ______ ____ _____ _____ " 1+ +- 2dup at-xy ." | ____| | _ \ / ____| __ \ " 1+ +- 2dup at-xy ." | |___ _ __ ___ ___ | |_) | (___ | | | |" 1+ +- 2dup at-xy ." | ___| '__/ _ \/ _ \| _ < \___ \| | | |" 1+ +- 2dup at-xy ." | | | | | __/ __/| |_) |____) | |__| |" 1+ +- 2dup at-xy ." | | | | | | || | | |" 1+ +- at-xy ." |_| |_| \___|\___||____/|_____/|_____/ " ++ 2dup at-xy ." __ ____ " 1+ ++ 2dup at-xy ." _ __ / _/ ___| ___ _ __ ___ ___ " 1+ ++ 2dup at-xy ." | '_ \| |_\___ \ / _ \ '_ \/ __|/ _ \ " 1+ ++ 2dup at-xy ." | |_) | _|___) | __/ | | \__ \ __/ " 1+ ++ 2dup at-xy ." | .__/|_| |____/ \___|_| |_|___/\___| " 1+ ++ 2dup at-xy ." |_| " 1+ ++ at-xy ." " + + \ Put the cursor back at the bottom + 0 25 at-xy diff --git a/patches/RELENG_10_0/carp_correct_mac.diff b/patches/RELENG_10_0/carp_correct_mac.diff new file mode 100644 index 0000000..5a074db --- /dev/null +++ b/patches/RELENG_10_0/carp_correct_mac.diff @@ -0,0 +1,69 @@ +diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c +index 9660edc..bfb6e14 100644 +--- a/sys/netinet/if_ether.c ++++ b/sys/netinet/if_ether.c +@@ -80,6 +80,8 @@ SYSCTL_DECL(_net_link_ether); + static SYSCTL_NODE(_net_link_ether, PF_INET, inet, CTLFLAG_RW, 0, ""); + static SYSCTL_NODE(_net_link_ether, PF_ARP, arp, CTLFLAG_RW, 0, ""); + ++static VNET_DEFINE(int, arp_carp_mac) = 0; /* default to disabled */ ++ + /* timer values */ + static VNET_DEFINE(int, arpt_keep) = (20*60); /* once resolved, good for 20 + * minutes */ +@@ -98,12 +100,16 @@ VNET_PCPUSTAT_SYSUNINIT(arpstat); + + static VNET_DEFINE(int, arp_maxhold) = 1; + ++#define V_arp_carp_mac VNET(arp_carp_mac) + #define V_arpt_keep VNET(arpt_keep) + #define V_arpt_down VNET(arpt_down) + #define V_arp_maxtries VNET(arp_maxtries) + #define V_arp_proxyall VNET(arp_proxyall) + #define V_arp_maxhold VNET(arp_maxhold) + ++SYSCTL_VNET_INT(_net_link_ether_inet, OID_AUTO, carp_mac, CTLFLAG_RW, ++ &VNET_NAME(arp_carp_mac), 0, ++ "Send CARP mac with replies to CARP ips"); + SYSCTL_VNET_INT(_net_link_ether_inet, OID_AUTO, max_age, CTLFLAG_RW, + &VNET_NAME(arpt_keep), 0, + "ARP entry lifetime in seconds"); +@@ -882,6 +888,29 @@ reply: + /* default behaviour; never reply by broadcast. */ + m->m_flags &= ~(M_BCAST|M_MCAST); + } ++#ifdef DEV_CARP ++ if (V_arp_carp_mac && carp_match) { ++ struct ether_header *eh = (struct ether_header *) sa.sa_data; ++ short type = htons(ETHERTYPE_ARP); ++ ++ ah->ar_hrd = htons(ARPHRD_ETHER); ++ ++ (void)memcpy(&eh->ether_type, &type, ++ sizeof(eh->ether_type)); ++ (void)memcpy(eh->ether_dhost, ar_tha(ah), ++ sizeof (eh->ether_dhost)); ++ (void)memcpy(eh->ether_shost, enaddr, ++ sizeof(eh->ether_shost)); ++ ++ sa.sa_family = pseudo_AF_HDRCMPLT; ++ sa.sa_len = sizeof(sa); ++ } else { ++#endif ++ sa.sa_family = AF_ARP; ++ sa.sa_len = 2; ++#ifdef DEV_CARP ++ } ++#endif + (void)memcpy(ar_tpa(ah), ar_spa(ah), ah->ar_pln); + (void)memcpy(ar_spa(ah), &itaddr, ah->ar_pln); + ah->ar_op = htons(ARPOP_REPLY); +@@ -889,8 +918,6 @@ reply: + m->m_len = sizeof(*ah) + (2 * ah->ar_pln) + (2 * ah->ar_hln); + m->m_pkthdr.len = m->m_len; + m->m_pkthdr.rcvif = NULL; +- sa.sa_family = AF_ARP; +- sa.sa_len = 2; + m_clrprotoflags(m); /* Avoid confusing lower layers. */ + (*ifp->if_output)(ifp, m, &sa, NULL); + ARPSTAT_INC(txreplies); diff --git a/patches/RELENG_10_0/carp_livelock_fixes.diff b/patches/RELENG_10_0/carp_livelock_fixes.diff new file mode 100644 index 0000000..85eb32f --- /dev/null +++ b/patches/RELENG_10_0/carp_livelock_fixes.diff @@ -0,0 +1,906 @@ +diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c +index 2d73edb..456670e 100644 +--- a/sys/netinet/ip_carp.c ++++ b/sys/netinet/ip_carp.c +@@ -93,13 +93,8 @@ struct carp_softc { + struct ifaddr **sc_ifas; /* Our ifaddrs. */ + struct sockaddr_dl sc_addr; /* Our link level address. */ + struct callout sc_ad_tmo; /* Advertising timeout. */ +-#ifdef INET + struct callout sc_md_tmo; /* Master down timeout. */ +-#endif +-#ifdef INET6 +- struct callout sc_md6_tmo; /* XXX: Master down timeout. */ +-#endif +- struct mtx sc_mtx; ++ struct rwlock sc_mtx; + + int sc_vhid; + int sc_advskew; +@@ -142,7 +137,7 @@ struct carp_if { + struct ip6_moptions cif_im6o; + #endif + struct ifnet *cif_ifp; +- struct mtx cif_mtx; ++ struct rwlock cif_mtx; + }; + + #define CARP_INET 0 +@@ -240,24 +235,27 @@ VNET_PCPUSTAT_SYSUNINIT(carpstats); + SYSCTL_VNET_PCPUSTAT(_net_inet_carp, OID_AUTO, stats, struct carpstats, + carpstats, "CARP statistics (struct carpstats, netinet/ip_carp.h)"); + +-#define CARP_LOCK_INIT(sc) mtx_init(&(sc)->sc_mtx, "carp_softc", \ +- NULL, MTX_DEF) +-#define CARP_LOCK_DESTROY(sc) mtx_destroy(&(sc)->sc_mtx) +-#define CARP_LOCK_ASSERT(sc) mtx_assert(&(sc)->sc_mtx, MA_OWNED) +-#define CARP_LOCK(sc) mtx_lock(&(sc)->sc_mtx) +-#define CARP_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx) +-#define CIF_LOCK_INIT(cif) mtx_init(&(cif)->cif_mtx, "carp_if", \ +- NULL, MTX_DEF) +-#define CIF_LOCK_DESTROY(cif) mtx_destroy(&(cif)->cif_mtx) +-#define CIF_LOCK_ASSERT(cif) mtx_assert(&(cif)->cif_mtx, MA_OWNED) +-#define CIF_LOCK(cif) mtx_lock(&(cif)->cif_mtx) +-#define CIF_UNLOCK(cif) mtx_unlock(&(cif)->cif_mtx) ++#define SC2IFP(sc) ((sc)->sc_carpdev) ++#define CARP_LOCK_INIT(sc) rw_init(&(sc)->sc_mtx, "carp_softc") ++#define CARP_LOCK_DESTROY(sc) rw_destroy(&(sc)->sc_mtx) ++#define CARP_LOCK_ASSERT(sc) rw_assert(&(sc)->sc_mtx, MA_OWNED) ++#define CARP_RLOCK(sc) rw_rlock(&(sc)->sc_mtx) ++#define CARP_WLOCK(sc) rw_wlock(&(sc)->sc_mtx) ++#define CARP_RUNLOCK(sc) rw_runlock(&(sc)->sc_mtx) ++#define CARP_WUNLOCK(sc) rw_wunlock(&(sc)->sc_mtx) ++#define CIF_LOCK_INIT(cif) rw_init(&(cif)->cif_mtx, "carp_if") ++#define CIF_LOCK_DESTROY(cif) rw_destroy(&(cif)->cif_mtx) ++#define CIF_LOCK_ASSERT(cif) rw_assert(&(cif)->cif_mtx, MA_OWNED) ++#define CIF_RLOCK(cif) rw_rlock(&(cif)->cif_mtx) ++#define CIF_WLOCK(cif) rw_wlock(&(cif)->cif_mtx) ++#define CIF_RUNLOCK(cif) rw_runlock(&(cif)->cif_mtx) ++#define CIF_WUNLOCK(cif) rw_wunlock(&(cif)->cif_mtx) + #define CIF_FREE(cif) do { \ + CIF_LOCK_ASSERT(cif); \ + if (TAILQ_EMPTY(&(cif)->cif_vrs)) \ + carp_free_if(cif); \ + else \ +- CIF_UNLOCK(cif); \ ++ CIF_WUNLOCK(cif); \ + } while (0) + + #define CARP_LOG(...) do { \ +@@ -300,11 +298,11 @@ static struct carp_if + static void carp_free_if(struct carp_if *); + static void carp_set_state(struct carp_softc *, int); + static void carp_sc_state(struct carp_softc *); +-static void carp_setrun(struct carp_softc *, sa_family_t); ++static void carp_setrun(struct carp_softc *); + static void carp_master_down(void *); + static void carp_master_down_locked(struct carp_softc *); + static void carp_send_ad(void *); +-static void carp_send_ad_locked(struct carp_softc *); ++static void carp_send_ad_locked(struct carp_softc *, int); + static void carp_addroute(struct carp_softc *); + static void carp_ifa_addroute(struct ifaddr *); + static void carp_delroute(struct carp_softc *); +@@ -580,6 +578,15 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + struct carp_softc *sc; + struct timeval sc_tv, ch_tv; + ++ /* verify the CARP version. */ ++ if (ch->carp_version != CARP_VERSION) { ++ CARPSTATS_INC(carps_badver); ++ CARP_DEBUG("%s: invalid version %d\n", ifp->if_xname, ++ ch->carp_version); ++ m_freem(m); ++ return; ++ } ++ + /* verify that the VHID is valid on the receiving interface */ + IF_ADDR_RLOCK(ifp); + IFNET_FOREACH_IFA(ifp, ifa) +@@ -596,18 +603,8 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + return; + } + +- /* verify the CARP version. */ +- if (ch->carp_version != CARP_VERSION) { +- CARPSTATS_INC(carps_badver); +- CARP_DEBUG("%s: invalid version %d\n", ifp->if_xname, +- ch->carp_version); +- ifa_free(ifa); +- m_freem(m); +- return; +- } +- + sc = ifa->ifa_carp; +- CARP_LOCK(sc); ++ CARP_WLOCK(sc); + ifa_free(ifa); + + if (carp_hmac_verify(sc, ch->carp_counter, ch->carp_md)) { +@@ -620,14 +617,14 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + if (!bcmp(&sc->sc_counter, ch->carp_counter, + sizeof(ch->carp_counter))) { + /* Do not log duplicates from non simplex interfaces */ +- if (sc->sc_carpdev->if_flags & IFF_SIMPLEX) { ++ if (ifp->if_flags & IFF_SIMPLEX) { + CARPSTATS_INC(carps_badauth); + ifp->if_ierrors++; +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + CARP_LOG("%s, replay or network loop detected.\n", + ifp->if_xname); + } else +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + m_freem(m); + return; + } +@@ -651,9 +648,9 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + CARP_LOG("VHID %u@%s: MASTER -> BACKUP " + "(more frequent advertisement received)\n", + sc->sc_vhid, +- sc->sc_carpdev->if_xname); ++ SC2IFP(sc)->if_xname); + carp_set_state(sc, BACKUP); +- carp_setrun(sc, 0); ++ carp_setrun(sc); + carp_delroute(sc); + } + break; +@@ -666,7 +663,7 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + CARP_LOG("VHID %u@%s: BACKUP -> MASTER " + "(preempting a slower master)\n", + sc->sc_vhid, +- sc->sc_carpdev->if_xname); ++ SC2IFP(sc)->if_xname); + carp_master_down_locked(sc); + break; + } +@@ -681,7 +678,7 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + CARP_LOG("VHID %u@%s: BACKUP -> MASTER " + "(master timed out)\n", + sc->sc_vhid, +- sc->sc_carpdev->if_xname); ++ SC2IFP(sc)->if_xname); + carp_master_down_locked(sc); + break; + } +@@ -690,12 +687,12 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + * Otherwise, we reset the counter and wait for the next + * advertisement. + */ +- carp_setrun(sc, af); ++ carp_setrun(sc); + break; + } + + out: +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + m_freem(m); + } + +@@ -716,6 +713,7 @@ carp_prepare_ad(struct mbuf *m, struct carp_softc *sc, struct carp_header *ch) + + carp_hmac_generate(sc, ch->carp_counter, ch->carp_md); + ++ /* XXX: Why this is handled so badly with new design? */ + /* Tag packet for carp_output */ + if ((mtag = m_tag_get(PACKET_TAG_CARP, sizeof(struct carp_softc *), + M_NOWAIT)) == NULL) { +@@ -739,14 +737,19 @@ carp_send_ad_all(void *ctx __unused, int pending __unused) + struct carp_softc *sc; + + mtx_lock(&carp_mtx); +- LIST_FOREACH(sc, &carp_list, sc_next) +- if (sc->sc_state == MASTER) { +- CARP_LOCK(sc); +- CURVNET_SET(sc->sc_carpdev->if_vnet); +- carp_send_ad_locked(sc); ++ LIST_FOREACH(sc, &carp_list, sc_next) { ++ if (sc->sc_carpdev == NULL) ++ continue; ++ CARP_RLOCK(sc); ++ if ((SC2IFP(sc)->if_flags & IFF_UP) && ++ (SC2IFP(sc)->if_drv_flags & IFF_DRV_RUNNING) && ++ sc->sc_state == MASTER) { ++ CURVNET_SET(SC2IFP(sc)->if_vnet); ++ carp_send_ad_locked(sc, 0); + CURVNET_RESTORE(); +- CARP_UNLOCK(sc); + } ++ CARP_RUNLOCK(sc); ++ } + mtx_unlock(&carp_mtx); + } + +@@ -756,29 +759,43 @@ carp_send_ad(void *v) + { + struct carp_softc *sc = v; + +- CARP_LOCK_ASSERT(sc); +- CURVNET_SET(sc->sc_carpdev->if_vnet); +- carp_send_ad_locked(sc); +- CURVNET_RESTORE(); +- CARP_UNLOCK(sc); ++ CARP_LOCK_ASSERT(sc); ++ ++ if (sc->sc_carpdev != NULL) ++ CURVNET_SET(SC2IFP(sc)->if_vnet); ++ carp_send_ad_locked(sc, 0); ++ if (sc->sc_carpdev != NULL) ++ CURVNET_RESTORE(); ++ ++ CARP_RUNLOCK(sc); + } + + static void +-carp_send_ad_locked(struct carp_softc *sc) ++carp_send_ad_locked(struct carp_softc *sc, int wlocked) + { + struct carp_header ch; + struct timeval tv; +- struct sockaddr sa; + struct ifaddr *ifa; + struct carp_header *ch_ptr; + struct mbuf *m; + int len, advskew; + +- CARP_LOCK_ASSERT(sc); ++ if (sc->sc_carpdev) ++ CARP_LOCK_ASSERT(sc); + +- advskew = DEMOTE_ADVSKEW(sc); +- tv.tv_sec = sc->sc_advbase; +- tv.tv_usec = advskew * 1000000 / 256; ++ /* bow out if we've lost our UPness or RUNNINGuiness */ ++ if (!((SC2IFP(sc)->if_flags & IFF_UP) && ++ (SC2IFP(sc)->if_drv_flags & IFF_DRV_RUNNING))) { ++ sc->sc_advbase = 255; ++ sc->sc_advskew = 255; ++ } else { ++ advskew = DEMOTE_ADVSKEW(sc); ++ tv.tv_sec = sc->sc_advbase; ++ tv.tv_usec = advskew * 1000000 / 256; ++ } ++ ++ if (!carp_allow) ++ goto resched; + + ch.carp_version = CARP_VERSION; + ch.carp_type = CARP_ADVERTISEMENT; +@@ -817,9 +834,9 @@ carp_send_ad_locked(struct carp_softc *sc) + ip->ip_p = IPPROTO_CARP; + ip->ip_sum = 0; + +- bzero(&sa, sizeof(sa)); +- sa.sa_family = AF_INET; +- ifa = ifaof_ifpforaddr(&sa, sc->sc_carpdev); ++ CARP_FOREACH_IFA(sc, ifa) ++ if (ifa->ifa_addr->sa_family == AF_INET) ++ break; + if (ifa != NULL) { + ip->ip_src.s_addr = + ifatoia(ifa)->ia_addr.sin_addr.s_addr; +@@ -839,24 +856,41 @@ carp_send_ad_locked(struct carp_softc *sc) + + CARPSTATS_INC(carps_opackets); + ++ if (wlocked) ++ CARP_WUNLOCK(sc); ++ else ++ CARP_RUNLOCK(sc); + if (ip_output(m, NULL, NULL, IP_RAWOUTPUT, +- &sc->sc_carpdev->if_carp->cif_imo, NULL)) { +- if (sc->sc_sendad_errors < INT_MAX) +- sc->sc_sendad_errors++; +- if (sc->sc_sendad_errors == CARP_SENDAD_MAX_ERRORS) +- carp_demote_adj(V_carp_senderr_adj, +- "send error"); +- sc->sc_sendad_success = 0; ++ &SC2IFP(sc)->if_carp->cif_imo, NULL)) { ++ if (sc && sc->sc_carpdev) { ++ if (wlocked) ++ CARP_WLOCK(sc); ++ else ++ CARP_RLOCK(sc); ++ ++ if (sc->sc_sendad_errors < INT_MAX) ++ sc->sc_sendad_errors++; ++ if (sc->sc_sendad_errors == CARP_SENDAD_MAX_ERRORS) ++ carp_demote_adj(carp_senderr_adj, "send error"); ++ sc->sc_sendad_success = 0; ++ } + } else { +- if (sc->sc_sendad_errors >= CARP_SENDAD_MAX_ERRORS) { +- if (++sc->sc_sendad_success >= +- CARP_SENDAD_MIN_SUCCESS) { +- carp_demote_adj(-V_carp_senderr_adj, +- "send ok"); ++ if (sc && sc->sc_carpdev) { ++ if (wlocked) ++ CARP_WLOCK(sc); ++ else ++ CARP_RLOCK(sc); ++ ++ if (sc->sc_sendad_errors >= CARP_SENDAD_MAX_ERRORS) { ++ if (++sc->sc_sendad_success >= ++ CARP_SENDAD_MIN_SUCCESS) { ++ carp_demote_adj(-carp_senderr_adj, ++ "send ok"); ++ sc->sc_sendad_errors = 0; ++ } ++ } else + sc->sc_sendad_errors = 0; +- } +- } else +- sc->sc_sendad_errors = 0; ++ } + } + } + #endif /* INET */ +@@ -880,15 +914,13 @@ carp_send_ad_locked(struct carp_softc *sc) + ip6->ip6_vfc |= IPV6_VERSION; + ip6->ip6_hlim = CARP_DFLTTL; + ip6->ip6_nxt = IPPROTO_CARP; +- bzero(&sa, sizeof(sa)); + +- /* set the source address */ +- sa.sa_family = AF_INET6; +- ifa = ifaof_ifpforaddr(&sa, sc->sc_carpdev); ++ CARP_FOREACH_IFA(sc, ifa) ++ if (ifa->ifa_addr->sa_family == AF_INET6) ++ break; + if (ifa != NULL) { + bcopy(IFA_IN6(ifa), &ip6->ip6_src, + sizeof(struct in6_addr)); +- ifa_free(ifa); + } else + /* This should never happen with IPv6. */ + bzero(&ip6->ip6_src, sizeof(struct in6_addr)); +@@ -913,30 +945,47 @@ carp_send_ad_locked(struct carp_softc *sc) + + CARPSTATS_INC(carps_opackets6); + ++ if (wlocked) ++ CARP_WUNLOCK(sc); ++ else ++ CARP_RUNLOCK(sc); + if (ip6_output(m, NULL, NULL, 0, + &sc->sc_carpdev->if_carp->cif_im6o, NULL, NULL)) { +- if (sc->sc_sendad_errors < INT_MAX) +- sc->sc_sendad_errors++; +- if (sc->sc_sendad_errors == CARP_SENDAD_MAX_ERRORS) +- carp_demote_adj(V_carp_senderr_adj, +- "send6 error"); +- sc->sc_sendad_success = 0; ++ if (sc && sc->sc_carpdev) { ++ if (wlocked) ++ CARP_WLOCK(sc); ++ else ++ CARP_RLOCK(sc); ++ if (sc->sc_sendad_errors < INT_MAX) ++ sc->sc_sendad_errors++; ++ if (sc->sc_sendad_errors == CARP_SENDAD_MAX_ERRORS) ++ carp_demote_adj(carp_senderr_adj, ++ "send6 error"); ++ sc->sc_sendad_success = 0; ++ } + } else { +- if (sc->sc_sendad_errors >= CARP_SENDAD_MAX_ERRORS) { +- if (++sc->sc_sendad_success >= +- CARP_SENDAD_MIN_SUCCESS) { +- carp_demote_adj(-V_carp_senderr_adj, +- "send6 ok"); ++ if (sc && sc->sc_carpdev) { ++ if (wlocked) ++ CARP_WLOCK(sc); ++ else ++ CARP_RLOCK(sc); ++ if (sc->sc_sendad_errors >= CARP_SENDAD_MAX_ERRORS) { ++ if (++sc->sc_sendad_success >= ++ CARP_SENDAD_MIN_SUCCESS) { ++ carp_demote_adj(-carp_senderr_adj, ++ "send6 ok"); ++ sc->sc_sendad_errors = 0; ++ } ++ } else + sc->sc_sendad_errors = 0; +- } +- } else +- sc->sc_sendad_errors = 0; ++ } + } + } + #endif /* INET6 */ + + resched: +- callout_reset(&sc->sc_ad_tmo, tvtohz(&tv), carp_send_ad, sc); ++ if (sc->sc_advbase != 255 || sc->sc_advskew != 255) ++ callout_reset(&sc->sc_ad_tmo, tvtohz(&tv), carp_send_ad, sc); + } + + static void +@@ -1009,7 +1058,7 @@ carp_master(struct ifaddr *ifa) + return (sc->sc_state == MASTER); + } + +-#ifdef INET ++#if defined(INET) || defined(INET6) + /* + * Broadcast a gratuitous ARP request containing + * the virtual router MAC address for each IP address +@@ -1019,12 +1068,29 @@ static void + carp_send_arp(struct carp_softc *sc) + { + struct ifaddr *ifa; ++#ifdef INET6 ++ static struct in6_addr mcast = IN6ADDR_LINKLOCAL_ALLNODES_INIT; ++ struct in6_addr *in6; ++#endif + +- CARP_FOREACH_IFA(sc, ifa) ++ CARP_FOREACH_IFA(sc, ifa) { ++#ifdef INET + if (ifa->ifa_addr->sa_family == AF_INET) + arp_ifinit2(sc->sc_carpdev, ifa, LLADDR(&sc->sc_addr)); ++#endif ++#ifdef INET6 ++ else if (ifa->ifa_addr->sa_family == AF_INET6) { ++ in6 = IFA_IN6(ifa); ++ nd6_na_output(sc->sc_carpdev, &mcast, in6, ++ ND_NA_FLAG_OVERRIDE, 1, NULL); ++ DELAY(1000); /* XXX */ ++ } ++#endif ++ } + } ++#endif + ++#ifdef INET + int + carp_iamatch(struct ifaddr *ifa, uint8_t **enaddr) + { +@@ -1040,24 +1106,6 @@ carp_iamatch(struct ifaddr *ifa, uint8_t **enaddr) + #endif + + #ifdef INET6 +-static void +-carp_send_na(struct carp_softc *sc) +-{ +- static struct in6_addr mcast = IN6ADDR_LINKLOCAL_ALLNODES_INIT; +- struct ifaddr *ifa; +- struct in6_addr *in6; +- +- CARP_FOREACH_IFA(sc, ifa) { +- if (ifa->ifa_addr->sa_family != AF_INET6) +- continue; +- +- in6 = IFA_IN6(ifa); +- nd6_na_output(sc->sc_carpdev, &mcast, in6, +- ND_NA_FLAG_OVERRIDE, 1, NULL); +- DELAY(1000); /* XXX */ +- } +-} +- + /* + * Returns ifa in case it's a carp address and it is MASTER, or if the address + * matches and is not a carp address. Returns NULL otherwise. +@@ -1125,18 +1173,18 @@ carp_forus(struct ifnet *ifp, u_char *dhost) + if (ena[0] || ena[1] || ena[2] != 0x5e || ena[3] || ena[4] != 1) + return (0); + +- CIF_LOCK(ifp->if_carp); ++ CIF_RLOCK(ifp->if_carp); + IFNET_FOREACH_CARP(ifp, sc) { +- CARP_LOCK(sc); ++ CARP_RLOCK(sc); + if (sc->sc_state == MASTER && !bcmp(dhost, LLADDR(&sc->sc_addr), + ETHER_ADDR_LEN)) { +- CARP_UNLOCK(sc); +- CIF_UNLOCK(ifp->if_carp); ++ CARP_RUNLOCK(sc); ++ CIF_RUNLOCK(ifp->if_carp); + return (1); + } +- CARP_UNLOCK(sc); ++ CARP_RUNLOCK(sc); + } +- CIF_UNLOCK(ifp->if_carp); ++ CIF_RUNLOCK(ifp->if_carp); + + return (0); + } +@@ -1149,16 +1197,18 @@ carp_master_down(void *v) + + CARP_LOCK_ASSERT(sc); + +- CURVNET_SET(sc->sc_carpdev->if_vnet); ++ if (sc->sc_carpdev) ++ CURVNET_SET(SC2IFP(sc)->if_vnet); + if (sc->sc_state == BACKUP) { + CARP_LOG("VHID %u@%s: BACKUP -> MASTER (master down)\n", + sc->sc_vhid, + sc->sc_carpdev->if_xname); + carp_master_down_locked(sc); + } +- CURVNET_RESTORE(); ++ if (sc->sc_carpdev) ++ CURVNET_RESTORE(); + +- CARP_UNLOCK(sc); ++ CARP_RUNLOCK(sc); + } + + static void +@@ -1170,14 +1220,11 @@ carp_master_down_locked(struct carp_softc *sc) + switch (sc->sc_state) { + case BACKUP: + carp_set_state(sc, MASTER); +- carp_send_ad_locked(sc); +-#ifdef INET ++ carp_send_ad_locked(sc, 0); ++#if defined(INET) || defined(INET6) + carp_send_arp(sc); + #endif +-#ifdef INET6 +- carp_send_na(sc); +-#endif +- carp_setrun(sc, 0); ++ carp_setrun(sc); + carp_addroute(sc); + break; + case INIT: +@@ -1197,14 +1244,14 @@ carp_master_down_locked(struct carp_softc *sc) + * for v4 or v6. If it's set to zero, reset the ones which are already pending. + */ + static void +-carp_setrun(struct carp_softc *sc, sa_family_t af) ++carp_setrun(struct carp_softc *sc) + { + struct timeval tv; + + CARP_LOCK_ASSERT(sc); + +- if ((sc->sc_carpdev->if_flags & IFF_UP) == 0 || +- sc->sc_carpdev->if_link_state != LINK_STATE_UP || ++ if ((SC2IFP(sc)->if_flags & IFF_UP) == 0 || ++ SC2IFP(sc)->if_link_state != LINK_STATE_UP || + (sc->sc_naddrs == 0 && sc->sc_naddrs6 == 0)) + return; + +@@ -1214,38 +1261,14 @@ carp_setrun(struct carp_softc *sc, sa_family_t af) + sc->sc_vhid, + sc->sc_carpdev->if_xname); + carp_set_state(sc, BACKUP); +- carp_setrun(sc, 0); ++ carp_setrun(sc); + break; + case BACKUP: + callout_stop(&sc->sc_ad_tmo); + tv.tv_sec = 3 * sc->sc_advbase; + tv.tv_usec = sc->sc_advskew * 1000000 / 256; +- switch (af) { +-#ifdef INET +- case AF_INET: +- callout_reset(&sc->sc_md_tmo, tvtohz(&tv), +- carp_master_down, sc); +- break; +-#endif +-#ifdef INET6 +- case AF_INET6: +- callout_reset(&sc->sc_md6_tmo, tvtohz(&tv), +- carp_master_down, sc); +- break; +-#endif +- default: +-#ifdef INET +- if (sc->sc_naddrs) +- callout_reset(&sc->sc_md_tmo, tvtohz(&tv), +- carp_master_down, sc); +-#endif +-#ifdef INET6 +- if (sc->sc_naddrs6) +- callout_reset(&sc->sc_md6_tmo, tvtohz(&tv), +- carp_master_down, sc); +-#endif +- break; +- } ++ callout_reset(&sc->sc_md_tmo, tvtohz(&tv), ++ carp_master_down, sc); + break; + case MASTER: + tv.tv_sec = sc->sc_advbase; +@@ -1503,17 +1526,12 @@ carp_alloc(struct ifnet *ifp) + sc->sc_carpdev = ifp; + + CARP_LOCK_INIT(sc); +-#ifdef INET +- callout_init_mtx(&sc->sc_md_tmo, &sc->sc_mtx, CALLOUT_RETURNUNLOCKED); +-#endif +-#ifdef INET6 +- callout_init_mtx(&sc->sc_md6_tmo, &sc->sc_mtx, CALLOUT_RETURNUNLOCKED); +-#endif +- callout_init_mtx(&sc->sc_ad_tmo, &sc->sc_mtx, CALLOUT_RETURNUNLOCKED); ++ callout_init_rw(&sc->sc_md_tmo, &sc->sc_mtx, CALLOUT_SHAREDLOCK); ++ callout_init_rw(&sc->sc_ad_tmo, &sc->sc_mtx, CALLOUT_SHAREDLOCK); + +- CIF_LOCK(cif); ++ CIF_WLOCK(cif); + TAILQ_INSERT_TAIL(&cif->cif_vrs, sc, sc_list); +- CIF_UNLOCK(cif); ++ CIF_WUNLOCK(cif); + + mtx_lock(&carp_mtx); + LIST_INSERT_HEAD(&carp_list, sc, sc_next); +@@ -1554,16 +1572,11 @@ carp_destroy(struct carp_softc *sc) + LIST_REMOVE(sc, sc_next); + mtx_unlock(&carp_mtx); + +- CARP_LOCK(sc); ++ CARP_WLOCK(sc); + if (sc->sc_suppress) + carp_demote_adj(-V_carp_ifdown_adj, "vhid removed"); + callout_drain(&sc->sc_ad_tmo); +-#ifdef INET + callout_drain(&sc->sc_md_tmo); +-#endif +-#ifdef INET6 +- callout_drain(&sc->sc_md6_tmo); +-#endif + CARP_LOCK_DESTROY(sc); + + free(sc->sc_ifas, M_CARP); +@@ -1622,7 +1635,7 @@ static void + carp_carprcp(struct carpreq *carpr, struct carp_softc *sc, int priv) + { + +- CARP_LOCK(sc); ++ CARP_RLOCK(sc); + carpr->carpr_state = sc->sc_state; + carpr->carpr_vhid = sc->sc_vhid; + carpr->carpr_advbase = sc->sc_advbase; +@@ -1631,7 +1644,7 @@ carp_carprcp(struct carpreq *carpr, struct carp_softc *sc, int priv) + bcopy(sc->sc_key, carpr->carpr_key, sizeof(carpr->carpr_key)); + else + bzero(carpr->carpr_key, sizeof(carpr->carpr_key)); +- CARP_UNLOCK(sc); ++ CARP_RUNLOCK(sc); + } + + int +@@ -1677,11 +1690,11 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + } + + if (ifp->if_carp) { +- CIF_LOCK(ifp->if_carp); ++ CIF_RLOCK(ifp->if_carp); + IFNET_FOREACH_CARP(ifp, sc) + if (sc->sc_vhid == carpr.carpr_vhid) + break; +- CIF_UNLOCK(ifp->if_carp); ++ CIF_RUNLOCK(ifp->if_carp); + } + if (sc == NULL) { + sc = carp_alloc(ifp); +@@ -1690,7 +1703,7 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + break; + } + +- CARP_LOCK(sc); ++ CARP_WLOCK(sc); + sc->sc_vhid = carpr.carpr_vhid; + LLADDR(&sc->sc_addr)[0] = 0; + LLADDR(&sc->sc_addr)[1] = 0; +@@ -1699,7 +1712,7 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + LLADDR(&sc->sc_addr)[4] = 1; + LLADDR(&sc->sc_addr)[5] = sc->sc_vhid; + } else +- CARP_LOCK(sc); ++ CARP_WLOCK(sc); + locked = 1; + if (carpr.carpr_advbase > 0) { + if (carpr.carpr_advbase > 255 || +@@ -1726,7 +1739,7 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + case BACKUP: + callout_stop(&sc->sc_ad_tmo); + carp_set_state(sc, BACKUP); +- carp_setrun(sc, 0); ++ carp_setrun(sc); + carp_delroute(sc); + break; + case MASTER: +@@ -1757,11 +1770,11 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + + priveleged = (priv_check(td, PRIV_NETINET_CARP) == 0); + if (carpr.carpr_vhid != 0) { +- CIF_LOCK(ifp->if_carp); ++ CIF_RLOCK(ifp->if_carp); + IFNET_FOREACH_CARP(ifp, sc) + if (sc->sc_vhid == carpr.carpr_vhid) + break; +- CIF_UNLOCK(ifp->if_carp); ++ CIF_RUNLOCK(ifp->if_carp); + if (sc == NULL) { + error = ENOENT; + break; +@@ -1772,12 +1785,12 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + int i, count; + + count = 0; +- CIF_LOCK(ifp->if_carp); ++ CIF_RLOCK(ifp->if_carp); + IFNET_FOREACH_CARP(ifp, sc) + count++; + + if (count > carpr.carpr_count) { +- CIF_UNLOCK(ifp->if_carp); ++ CIF_RUNLOCK(ifp->if_carp); + error = EMSGSIZE; + break; + } +@@ -1789,12 +1802,12 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + error = copyout(&carpr, ifr->ifr_data + + (i * sizeof(carpr)), sizeof(carpr)); + if (error) { +- CIF_UNLOCK(ifp->if_carp); ++ CIF_RUNLOCK(ifp->if_carp); + break; + } + i++; + } +- CIF_UNLOCK(ifp->if_carp); ++ CIF_RUNLOCK(ifp->if_carp); + } + break; + } +@@ -1804,7 +1817,7 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) + + out: + if (locked) +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + if_rele(ifp); + + return (error); +@@ -1843,12 +1856,12 @@ carp_attach(struct ifaddr *ifa, int vhid) + return (EPROTOTYPE); + } + +- CIF_LOCK(cif); ++ CIF_WLOCK(cif); + IFNET_FOREACH_CARP(ifp, sc) + if (sc->sc_vhid == vhid) + break; + if (sc == NULL) { +- CIF_UNLOCK(cif); ++ CIF_WUNLOCK(cif); + return (ENOENT); + } + +@@ -1856,7 +1869,7 @@ carp_attach(struct ifaddr *ifa, int vhid) + if (ifa->ifa_carp->sc_vhid != vhid) + carp_detach_locked(ifa); + else { +- CIF_UNLOCK(cif); ++ CIF_WUNLOCK(cif); + return (0); + } + } +@@ -1867,13 +1880,13 @@ carp_attach(struct ifaddr *ifa, int vhid) + return (error); + } + +- CARP_LOCK(sc); ++ CARP_WLOCK(sc); + index = sc->sc_naddrs + sc->sc_naddrs6 + 1; + if (index > sc->sc_ifasiz / sizeof(struct ifaddr *)) + if ((error = carp_grow_ifas(sc)) != 0) { + carp_multicast_cleanup(cif, + ifa->ifa_addr->sa_family); +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + CIF_FREE(cif); + return (error); + } +@@ -1900,8 +1913,8 @@ carp_attach(struct ifaddr *ifa, int vhid) + carp_hmac_prepare(sc); + carp_sc_state(sc); + +- CARP_UNLOCK(sc); +- CIF_UNLOCK(cif); ++ CARP_WUNLOCK(sc); ++ CIF_WUNLOCK(cif); + + return (0); + } +@@ -1912,7 +1925,7 @@ carp_detach(struct ifaddr *ifa) + struct ifnet *ifp = ifa->ifa_ifp; + struct carp_if *cif = ifp->if_carp; + +- CIF_LOCK(cif); ++ CIF_WLOCK(cif); + carp_detach_locked(ifa); + CIF_FREE(cif); + } +@@ -1928,7 +1941,7 @@ carp_detach_locked(struct ifaddr *ifa) + KASSERT(sc != NULL, ("%s: %p not attached", __func__, ifa)); + + CIF_LOCK_ASSERT(cif); +- CARP_LOCK(sc); ++ CARP_WLOCK(sc); + + /* Shift array. */ + index = sc->sc_naddrs + sc->sc_naddrs6; +@@ -1965,10 +1978,10 @@ carp_detach_locked(struct ifaddr *ifa) + carp_sc_state(sc); + + if (sc->sc_naddrs == 0 && sc->sc_naddrs6 == 0) { +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + carp_destroy(sc); + } else +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + } + + static void +@@ -1981,11 +1994,13 @@ carp_set_state(struct carp_softc *sc, int state) + const char *carp_states[] = { CARP_STATES }; + char subsys[IFNAMSIZ+5]; + +- sc->sc_state = state; ++ atomic_set_int(&sc->sc_state, state); + +- snprintf(subsys, IFNAMSIZ+5, "%u@%s", sc->sc_vhid, +- sc->sc_carpdev->if_xname); +- devctl_notify("CARP", subsys, carp_states[state], NULL); ++ if (sc->sc_carpdev) { ++ snprintf(subsys, IFNAMSIZ+5, "%u@%s", sc->sc_vhid, ++ SC2IFP(sc)->if_xname); ++ devctl_notify("CARP", subsys, carp_states[state], NULL); ++ } + } + } + +@@ -1994,13 +2009,13 @@ carp_linkstate(struct ifnet *ifp) + { + struct carp_softc *sc; + +- CIF_LOCK(ifp->if_carp); ++ CIF_RLOCK(ifp->if_carp); + IFNET_FOREACH_CARP(ifp, sc) { +- CARP_LOCK(sc); ++ CARP_WLOCK(sc); + carp_sc_state(sc); +- CARP_UNLOCK(sc); ++ CARP_WUNLOCK(sc); + } +- CIF_UNLOCK(ifp->if_carp); ++ CIF_RUNLOCK(ifp->if_carp); + } + + static void +@@ -2012,20 +2027,15 @@ carp_sc_state(struct carp_softc *sc) + if (sc->sc_carpdev->if_link_state != LINK_STATE_UP || + !(sc->sc_carpdev->if_flags & IFF_UP)) { + callout_stop(&sc->sc_ad_tmo); +-#ifdef INET + callout_stop(&sc->sc_md_tmo); +-#endif +-#ifdef INET6 +- callout_stop(&sc->sc_md6_tmo); +-#endif + carp_set_state(sc, INIT); +- carp_setrun(sc, 0); ++ carp_setrun(sc); + if (!sc->sc_suppress) + carp_demote_adj(V_carp_ifdown_adj, "interface down"); + sc->sc_suppress = 1; + } else { + carp_set_state(sc, INIT); +- carp_setrun(sc, 0); ++ carp_setrun(sc); + if (sc->sc_suppress) + carp_demote_adj(-V_carp_ifdown_adj, "interface up"); + sc->sc_suppress = 0; diff --git a/patches/RELENG_10_0/carp_replay_protection.diff b/patches/RELENG_10_0/carp_replay_protection.diff new file mode 100644 index 0000000..bc98151 --- /dev/null +++ b/patches/RELENG_10_0/carp_replay_protection.diff @@ -0,0 +1,76 @@ +diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c +index 0a3607e..2d73edb 100644 +--- a/sys/netinet/ip_carp.c ++++ b/sys/netinet/ip_carp.c +@@ -115,7 +115,6 @@ struct carp_softc { + int sc_sendad_success; + #define CARP_SENDAD_MIN_SUCCESS 3 + +- int sc_init_counter; + uint64_t sc_counter; + + /* authentication */ +@@ -579,7 +578,6 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + struct ifnet *ifp = m->m_pkthdr.rcvif; + struct ifaddr *ifa; + struct carp_softc *sc; +- uint64_t tmp_counter; + struct timeval sc_tv, ch_tv; + + /* verify that the VHID is valid on the receiving interface */ +@@ -619,14 +617,20 @@ carp_input_c(struct mbuf *m, struct carp_header *ch, sa_family_t af) + goto out; + } + +- tmp_counter = ntohl(ch->carp_counter[0]); +- tmp_counter = tmp_counter<<32; +- tmp_counter += ntohl(ch->carp_counter[1]); +- +- /* XXX Replay protection goes here */ +- +- sc->sc_init_counter = 0; +- sc->sc_counter = tmp_counter; ++ if (!bcmp(&sc->sc_counter, ch->carp_counter, ++ sizeof(ch->carp_counter))) { ++ /* Do not log duplicates from non simplex interfaces */ ++ if (sc->sc_carpdev->if_flags & IFF_SIMPLEX) { ++ CARPSTATS_INC(carps_badauth); ++ ifp->if_ierrors++; ++ CARP_UNLOCK(sc); ++ CARP_LOG("%s, replay or network loop detected.\n", ++ ifp->if_xname); ++ } else ++ CARP_UNLOCK(sc); ++ m_freem(m); ++ return; ++ } + + sc_tv.tv_sec = sc->sc_advbase; + sc_tv.tv_usec = DEMOTE_ADVSKEW(sc) * 1000000 / 256; +@@ -700,13 +704,12 @@ carp_prepare_ad(struct mbuf *m, struct carp_softc *sc, struct carp_header *ch) + { + struct m_tag *mtag; + +- if (sc->sc_init_counter) { ++ if (!sc->sc_counter) { + /* this could also be seconds since unix epoch */ + sc->sc_counter = arc4random(); + sc->sc_counter = sc->sc_counter << 32; + sc->sc_counter += arc4random(); +- } else +- sc->sc_counter++; ++ } + + ch->carp_counter[0] = htonl((sc->sc_counter>>32)&0xffffffff); + ch->carp_counter[1] = htonl(sc->sc_counter&0xffffffff); +@@ -1490,9 +1493,9 @@ carp_alloc(struct ifnet *ifp) + + sc = malloc(sizeof(*sc), M_CARP, M_WAITOK|M_ZERO); + ++ sc->sc_counter = 0; + sc->sc_advbase = CARP_DFLTINTV; + sc->sc_vhid = -1; /* required setting */ +- sc->sc_init_counter = 1; + sc->sc_state = INIT; + + sc->sc_ifasiz = sizeof(struct ifaddr *); diff --git a/patches/RELENG_10_0/clog.diff b/patches/RELENG_10_0/clog.diff new file mode 100644 index 0000000..a1a4e22 --- /dev/null +++ b/patches/RELENG_10_0/clog.diff @@ -0,0 +1,426 @@ +Index: Makefile +=================================================================== +RCS file: Makefile +diff -N Makefile +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ Makefile 8 Jun 2009 00:41:07 -0000 +@@ -0,0 +1,10 @@ ++# @(#)Makefile 8.1 (Berkeley) 6/6/93 ++# $Id: Makefile,v 1.2 2001/10/02 06:03:21 jdw Exp $ ++# $DragonFly: src/usr.sbin/clog/Makefile,v 1.3 2007/04/09 09:45:12 swildner Exp $ ++ ++PROG= clog ++MAN8= clog.8 ++CFLAGS=-O ++ ++.include ++ +Index: clog.8 +=================================================================== +RCS file: clog.8 +diff -N clog.8 +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ clog.8 2 Oct 2001 04:41:21 -0000 +@@ -0,0 +1,98 @@ ++.\" Copyright (c) 2001 ++.\" Jeffrey D. Wheelhouse. All rights reserved. ++.\" ++.\" This code was originally developed by Jeff Wheelhouse (jdw@wwwi.com). ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY JEFF WHEELHOUSE ``AS IS'' AND ANY EXPRESS OR ++.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN ++.\" NO EVENT SHALL JEFF WHEELHOUSE BE LIABLE FOR ANY DIRECT, INDIRECT, ++.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT ++.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, ++.\" OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++.\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, ++.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++.\" ++.\" $Id: clog.8,v 1.2 2001/10/02 04:41:21 jdw Exp $ ++.\" ++.Dd October 1, 2001 ++.Dt CLOG 8 ++.Os BSD 4 ++.Sh NAME ++.Nm clog ++.Nd "display or initialize a circular system log" ++.Sh SYNOPSIS ++.Nm ++.Op Fl f ++.Op Fl i Fl s Ar size ++.Ar logfile ++.Sh DESCRIPTION ++.Nm Clog ++displays or initializes a circular log file. ++.Pp ++The options are as follows: ++.Bl -tag -width indent ++.It Fl f ++Display the contents of the circular logfile ++.Ar logfile , ++then go into a loop waiting for ++new material to arrive. This is essentially the same as using the ++.Fl f ++option of the ++.Xr tail 1 ++command on a standard syslog file. ++.It Fl i ++Initialize ++.Ar logfile ++rather than reading it. This option requires the ++.Fl s ++option. If ++.Ar logfile ++already exists, it will be truncated and recreated by this command. ++.It Fl s ++This option specifies the size in bytes of the circular logfile that should ++be created. This option requires the ++.Fl i ++option. ++.El ++.Sh ABOUT CIRCULAR LOGFILES ++The ++.Nm ++command supports circular logfiles for ++.Xr syslogd 8 . ++A circular logfile differs from a standard syslog file in that is has a fixed ++size. It does not grow, and does not need to be rotated. When ++.Xr syslogd 8 ++reaches the end of a circular logfile, it simply begins again at the beginning, ++overwriting the oldest data. The circular logfile also contains information ++allowing ++.Nm ++to establish what parts of the file are valid, and in what order they should ++be displayed. ++.Pp ++Circular logfiles are primarily useful for their ability to control the amount ++of storage devoted to logfiles. This may be valuable when storage space is ++at a premium or when the consequences of running out of storage space are ++unacceptable. Circular logfiles can safely be used on a memory disk (see ++.Xr md 4 ). ++.Pp ++Circular logfiles are also useful to catch messages that are generated rapidly ++but soon lose relevance, such as messages logged at debug priority. ++ ++.Sh SEE ALSO ++.Xr syslogd 8 , ++.Xr syslog.conf 5 ++.Sh HISTORY ++The ++.Nm ++command was written for FreeBSD 4.3 but is not yet part of a BSD distribution. +Index: clog.c +=================================================================== +RCS file: clog.c +diff -N clog.c +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ clog.c 8 Jun 2009 00:18:19 -0000 +@@ -0,0 +1,235 @@ ++/*- ++ * Copyright (c) 2001 ++ * Jeff Wheelhouse (jdw@wwwi.com) ++ * ++ * This code was originally developed by Jeff Wheelhouse (jdw@wwwi.com). ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistribution of source code must retail the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY JEFF WHEELHOUSE ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN ++ * NO EVENT SHALL JEFF WHEELHOUSE BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, ++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, ++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * $Id: clog.c,v 1.3 2001/10/02 18:51:26 jdw Exp $ ++ * $DragonFly: src/usr.sbin/clog/clog.c,v 1.4 2007/06/26 23:30:05 josepht Exp $ ++ */ ++ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++ ++#include "clog.h" ++ ++ ++/* ++ * The BUFFER_SIZE value is just used to allocate a buffer full of NULLs ++ * so that a new logfile can be extended to its full size. ++ * ++ * Compiling with -pedantic complains when the buffer array is declared ++ * if I declare this as a const instead of a #define. ++ */ ++#define BUFFER_SIZE 16384 ++ ++void init_log(const char *lname, size_t size); ++void read_log(const char *lname, int optf); ++void usage(void); ++ ++const char *pname; ++ ++int ++main(int argc, char **argv) ++{ ++ int ch; ++ int init = 0; ++ int size = 0; ++ int optf = 0; ++ ++ pname = argv[0]; ++ ++ while ((ch = getopt(argc, argv, "fis:")) != -1) ++ switch(ch) { ++ case 'i': ++ init = 1; ++ break; ++ case 's': ++ size = atol(optarg); ++ if (size==0) usage(); ++ break; ++ case 'f': ++ optf = 1; ++ } ++ ++ if ((size>0)&&(init==0)) { ++ fprintf(stderr,"%s: WARNING: -s argument ignored without -i.\n",pname); ++ size = 0; ++ } ++ if (argv[optind]==NULL) { ++ fprintf(stderr,"%s: ERROR: log_file argument must be specified.\n",pname); ++ usage(); ++ } ++ if ((init==1)&&(size==0)) { ++ fprintf(stderr,"%s: ERROR: -i argument requires -s.\n",pname); ++ usage(); ++ } ++ if ((init==1)&&(optf==1)) { ++ fprintf(stderr,"%s: ERROR: flags -f and -i are incompatible.\n",pname); ++ usage(); ++ } ++ ++ if (init==1) init_log(argv[optind],size); ++ /* if (optf==1) follow_log(artv[optind]); */ ++ read_log(argv[optind],optf); ++ ++ return 0; ++} ++ ++ ++void ++usage(void) ++{ ++ fprintf(stderr,"usage: %s [-i -s log_size] [ -f ] log_file\n",pname); ++ exit(1); ++} ++ ++ ++void ++read_log(const char *lname, int optf) ++{ ++ int fd; ++ struct stat sb; ++ struct clog_footer *pcf; ++ char *pbuffer; ++ struct iovec iov[2]; ++ int iovcnt = 0; ++ uint32_t start = 0; ++ uint32_t next; ++ struct pollfd pfd; ++ ++ pfd.fd = -1; ++ ++ fd = open(lname,O_RDONLY); ++ if (fd==-1) { ++ fprintf(stderr,"%s: ERROR: could not open %s (%s)\n",pname,lname,strerror(errno)); ++ exit(11); ++ } ++ ++ if (fstat(fd,&sb)==-1) { ++ fprintf(stderr,"%s: ERROR: could not stat %s (%s)\n",pname,lname,strerror(errno)); ++ exit(13); ++ } ++ pbuffer = mmap(NULL,sb.st_size,PROT_READ,MAP_SHARED,fd,0); ++ if (pbuffer==NULL) { ++ fprintf(stderr,"%s: ERROR: could not mmap %s body (%s)\n",pname,lname,strerror(errno)); ++ exit(14); ++ } ++ pcf = (struct clog_footer*)(pbuffer + sb.st_size - sizeof(struct clog_footer)); ++ ++ if (pcf->cf_wrap==1) start = pcf->cf_next + 1; ++ while(1) { ++ while(pcf->cf_lock==1) sched_yield(); ++ next = pcf->cf_next; ++ iovcnt = 0; ++ if (start>next) { ++ iov[iovcnt].iov_base = pbuffer + start; ++ iov[iovcnt++].iov_len = pcf->cf_max - start; ++ start = 0; ++ } ++ iov[iovcnt].iov_base = pbuffer + start; ++ iov[iovcnt++].iov_len = next - start; ++ if (writev(1,iov,iovcnt)==-1) { ++ fprintf(stderr,"%s: ERROR: could not write output (%s)\n",pname,strerror(errno)); ++ exit(15); ++ } ++ start = next; ++ if (optf==0) break; ++ if (poll(&pfd,1,50)==-1) { ++ fprintf(stderr,"%s: ERROR: could not poll (%s)\n",pname,strerror(errno)); ++ exit(16); ++ } ++ } ++ ++ munmap(pbuffer,sb.st_size); ++ close(fd); ++ ++ exit(0); ++} ++ ++ ++void ++init_log(const char *lname, size_t size) ++{ ++ int fd; ++ size_t fill = size; ++ char buffer[BUFFER_SIZE]; ++ struct clog_footer cf; ++ ++ memcpy(&cf.cf_magic,MAGIC_CONST,4); ++ cf.cf_max = size - sizeof(struct clog_footer); ++ ++ memset(buffer,0,BUFFER_SIZE); ++ ++ fd = open(lname,O_RDWR|O_CREAT,0666); ++ if (fd==-1) { ++ fprintf(stderr,"%s: ERROR: could not open %s (%s)\n",pname,lname,strerror(errno)); ++ exit(2); ++ } ++ if (ftruncate(fd,(off_t)0)==-1) { ++ fprintf(stderr,"%s: ERROR: could not truncate %s (%s)\n",pname,lname,strerror(errno)); ++ exit(3); ++ } ++ ++ while(fill>BUFFER_SIZE) { ++ if (write(fd,buffer,BUFFER_SIZE)==-1){ ++ fprintf(stderr,"%s: ERROR: could not write %s (%s)\n",pname,lname,strerror(errno)); ++ exit(4); ++ } ++ fill -= BUFFER_SIZE; ++ } ++ assert(fill<=BUFFER_SIZE); ++ if (fill>0) { ++ if (write(fd,buffer,fill)==-1) { ++ fprintf(stderr,"%s: ERROR: could not write %s (%s)\n",pname,lname,strerror(errno)); ++ exit(5); ++ } ++ } ++ if (lseek(fd,-(off_t)(sizeof(struct clog_footer)),SEEK_END)==-1) { ++ fprintf(stderr,"%s: ERROR: could not seek in %s (%s)\n",pname,lname,strerror(errno)); ++ exit(6); ++ } ++ if (write(fd,&cf,sizeof(cf))==-1) { ++ fprintf(stderr,"%s: ERROR: could not write magic in %s (%s)\n",pname,lname,strerror(errno)); ++ exit(7); ++ } ++ close(fd); ++ exit(0); ++} ++ ++ ++ +Index: clog.h +=================================================================== +RCS file: clog.h +diff -N clog.h +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ clog.h 8 Jun 2009 00:27:27 -0000 +@@ -0,0 +1,55 @@ ++/*- ++ * Copyright (c) 2001 ++ * Jeff Wheelhouse (jdw@wwwi.com) ++ * ++ * This code was originally developed by Jeff Wheelhouse (jdw@wwwi.com). ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistribution of source code must retail the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY JEFF WHEELHOUSE ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN ++ * NO EVENT SHALL JEFF WHEELHOUSE BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, ++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, ++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * $Id: clog.h,v 1.2 2001/10/02 04:43:52 jdw Exp $ ++ * $DragonFly: src/usr.sbin/clog/clog.h,v 1.1 2004/10/30 20:26:46 dillon Exp $ ++ */ ++ ++ ++#ifndef _CLOG_H_ ++#define _CLOG_H_ ++ ++/* ++ * This magic constant is used to identify a valid circular log file. ++ * syslogd will ignore any circular log file that doesn't have this constant. ++ */ ++ ++const char MAGIC_CONST[4] = "CLOG"; ++ ++ ++struct clog_footer { ++ uint32_t cf_magic; ++ uint32_t cf_wrap; ++ uint32_t cf_next; ++ uint32_t cf_max; ++ uint32_t cf_lock; ++}; ++ ++ ++#endif /* _CLOG_H_ */ ++ ++ ++ diff --git a/patches/RELENG_10_0/divert.RELENG_10.diff b/patches/RELENG_10_0/divert.RELENG_10.diff new file mode 100644 index 0000000..fd5759d --- /dev/null +++ b/patches/RELENG_10_0/divert.RELENG_10.diff @@ -0,0 +1,399 @@ +diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y +index 358781b..27fd219 100644 +--- a/sbin/pfctl/parse.y ++++ b/sbin/pfctl/parse.y +@@ -162,6 +162,7 @@ struct node_icmp { + enum { PF_STATE_OPT_MAX, PF_STATE_OPT_NOSYNC, PF_STATE_OPT_SRCTRACK, + PF_STATE_OPT_MAX_SRC_STATES, PF_STATE_OPT_MAX_SRC_CONN, + PF_STATE_OPT_MAX_SRC_CONN_RATE, PF_STATE_OPT_MAX_SRC_NODES, ++ PF_STATE_OPT_MAX_PACKETS, + PF_STATE_OPT_OVERLOAD, PF_STATE_OPT_STATELOCK, + PF_STATE_OPT_TIMEOUT, PF_STATE_OPT_SLOPPY, }; + +@@ -173,6 +174,7 @@ struct node_state_opt { + u_int32_t max_states; + u_int32_t max_src_states; + u_int32_t max_src_conn; ++ u_int32_t max_packets; + struct { + u_int32_t limit; + u_int32_t seconds; +@@ -472,7 +474,7 @@ int parseport(char *, struct range *r, int); + %token LOAD RULESET_OPTIMIZATION + %token STICKYADDRESS MAXSRCSTATES MAXSRCNODES SOURCETRACK GLOBAL RULE + %token MAXSRCCONN MAXSRCCONNRATE OVERLOAD FLUSH SLOPPY +-%token TAGGED TAG IFBOUND FLOATING STATEPOLICY STATEDEFAULTS ROUTE SETTOS ++%token TAGGED TAG IFBOUND FLOATING STATEPOLICY STATEDEFAULTS ROUTE SETTOS MAXPCKT + %token IEEE8021QPCP IEEE8021QSETPCP + %token DIVERTTO DIVERTREPLY + %token STRING +@@ -2132,6 +2134,14 @@ pfrule : action dir logquick interface route af proto fromto + } + r.rule_flag |= PFRULE_NOSYNC; + break; ++ case PF_STATE_OPT_MAX_PACKETS: ++ if (o->data.max_packets == 0) { ++ yyerror("max_packets must be" ++ "greater than 0"); ++ YYERROR; ++ } ++ r.spare1 = o->data.max_packets; ++ break; + case PF_STATE_OPT_SRCTRACK: + if (srctrack) { + yyerror("state option " +@@ -5665,6 +5675,7 @@ lookup(char *s) + { "match", MATCH}, + { "max", MAXIMUM}, + { "max-mss", MAXMSS}, ++ { "max-packets", MAXPCKT}, + { "max-src-conn", MAXSRCCONN}, + { "max-src-conn-rate", MAXSRCCONNRATE}, + { "max-src-nodes", MAXSRCNODES}, +diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c +index 327d4f3..bad5f74 100644 +--- a/sbin/pfctl/pfctl_parser.c ++++ b/sbin/pfctl/pfctl_parser.c +@@ -969,6 +969,12 @@ print_rule(struct pf_rule *r, const char *anchor_call, int verbose, int numeric) + printf("max-src-conn %u", r->max_src_conn); + opts = 0; + } ++ if (r->spare1) { ++ if (!opts) ++ printf(", "); ++ printf("max-packets %u", r->spare1); ++ opts = 0; ++ } + if (r->max_src_conn_rate.limit) { + if (!opts) + printf(", "); +diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h +index 6aac85d..bf245b7 100644 +--- a/sys/net/pfvar.h ++++ b/sys/net/pfvar.h +@@ -832,7 +832,13 @@ struct pf_state { + u_int64_t id; + u_int32_t creatorid; + u_int8_t direction; +- u_int8_t pad[3]; ++ u_int8_t pad[2]; ++ u_int8_t local_flags; ++#define PFSTATE_DIVERT_ALTQ 0x10 ++#define PFSTATE_DIVERT_DNCOOKIE 0x20 ++#define PFSTATE_DIVERT_ACTION 0x40 ++#define PFSTATE_DIVERT_TAG 0x80 ++#define PFSTATE_DIVERT_MASK 0xFF00 + + u_int refs; + TAILQ_ENTRY(pf_state) sync_list; +@@ -859,6 +865,7 @@ struct pf_state { + u_int32_t pdnpipe; + u_int32_t dnpipe; + u_int16_t tag; ++ u_int16_t divert_cookie; + u_int8_t log; + u_int8_t state_flags; + #define PFSTATE_ALLOWOPTS 0x01 +@@ -871,7 +878,7 @@ struct pf_state { + + /* XXX */ + u_int8_t sync_updates; +- u_int8_t _tail[3]; ++ u_int8_t _tail; + }; + + /* +@@ -1267,7 +1274,8 @@ struct pf_pdesc { + #define PFRES_MAXSTATES 12 /* State limit */ + #define PFRES_SRCLIMIT 13 /* Source node/conn limit */ + #define PFRES_SYNPROXY 14 /* SYN proxy */ +-#define PFRES_MAX 15 /* total+1 */ ++#define PFRES_DIVERT 15 /* Divert override */ ++#define PFRES_MAX 16 /* total+1 */ + + #define PFRES_NAMES { \ + "match", \ +@@ -1285,6 +1293,7 @@ struct pf_pdesc { + "state-limit", \ + "src-limit", \ + "synproxy", \ ++ "divert", \ + NULL \ + } + +diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c +index 0000745..8e4124f 100644 +--- a/sys/netinet/ip_divert.c ++++ b/sys/netinet/ip_divert.c +@@ -267,8 +267,7 @@ divert_packet(struct mbuf *m, int incoming) + * this iface name will come along for the ride. + * (see div_output for the other half of this.) + */ +- strlcpy(divsrc.sin_zero, m->m_pkthdr.rcvif->if_xname, +- sizeof(divsrc.sin_zero)); ++ *((u_short *)divsrc.sin_zero) = m->m_pkthdr.rcvif->if_index; + } + + /* Put packet on socket queue, if any */ +@@ -342,7 +341,7 @@ div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin, + + /* Loopback avoidance and state recovery */ + if (sin) { +- int i; ++ u_short idx; + + /* set the starting point. We provide a non-zero slot, + * but a non_matching chain_id to skip that info and use +@@ -350,7 +349,7 @@ div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin, + */ + dt->slot = 1; /* dummy, chain_id is invalid */ + dt->chain_id = 0; +- dt->rulenum = sin->sin_port+1; /* host format ? */ ++ dt->rulenum = sin->sin_port; /* host format ? */ + dt->rule_id = 0; + /* + * Find receive interface with the given name, stuffed +@@ -358,10 +357,9 @@ div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin, + * The name is user supplied data so don't trust its size + * or that it is zero terminated. + */ +- for (i = 0; i < sizeof(sin->sin_zero) && sin->sin_zero[i]; i++) +- ; +- if ( i > 0 && i < sizeof(sin->sin_zero)) +- m->m_pkthdr.rcvif = ifunit(sin->sin_zero); ++ idx = *((u_short *)sin->sin_zero); ++ if ( idx > 0 ) ++ m->m_pkthdr.rcvif = ifnet_byindex(idx); + } + + /* Reinject packet into the system as incoming or outgoing */ +@@ -832,5 +830,4 @@ static moduledata_t ipdivertmod = { + }; + + DECLARE_MODULE(ipdivert, ipdivertmod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY); +-MODULE_DEPEND(ipdivert, ipfw, 2, 2, 2); + MODULE_VERSION(ipdivert, 1); +diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c +index 4a2fe66..d6c9de0 100644 +--- a/sys/netpfil/pf/pf.c ++++ b/sys/netpfil/pf/pf.c +@@ -91,6 +91,7 @@ __FBSDID("$FreeBSD: stable/10/sys/netpfil/pf/pf.c 254523 2013-08-19 13:27:32Z an + #include /* XXX: only for DIR_IN/DIR_OUT */ + #include + #include ++#include + + #ifdef INET6 + #include +@@ -316,6 +317,14 @@ VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]); + + #define PACKET_LOOPED(mtag) ((mtag)->flags & PF_PACKET_LOOPED) + ++#define PF_DIVERT_MAXPACKETS_REACHED() \ ++do { \ ++ if (r->spare1 && \ ++ s->packets[dir == PF_OUT] > r->spare1) \ ++ /* fake that divert already happened */ \ ++ pd.pf_mtag->flags |= PF_PACKET_LOOPED; \ ++} while(0) ++ + #define STATE_LOOKUP(i, k, d, s, pd) \ + do { \ + (s) = pf_find_state((i), (k), (d)); \ +@@ -6039,6 +6048,8 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + struct pf_pdesc pd; + int off = 0, dirndx, pqid = 0; + int loopedfrom = 0; ++ u_int16_t divertcookie = 0; ++ u_int8_t divflags = 0; + struct ip_fw_args dnflow; + + M_ASSERTPKTHDR(m); +@@ -6071,12 +6082,10 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + pd.pf_mtag->flags |= PF_PACKET_LOOPED; + if (rr->info & IPFW_IS_DUMMYNET) + loopedfrom = 1; +- if (rr->info & IPFW_IS_DIVERT && rr->rulenum == 0) { +- if (pd.pf_mtag == NULL && +- ((pd.pf_mtag = pf_get_mtag(m)) == NULL)) { +- action = PF_DROP; +- goto done; +- } ++ if (rr->info & IPFW_IS_DIVERT) { ++ divertcookie = rr->rulenum; ++ divflags = (u_int8_t)(divertcookie >> 8); ++ divertcookie &= ~PFSTATE_DIVERT_MASK; + } + if (pd.pf_mtag && pd.pf_mtag->flags & PF_FASTFWD_OURS_PRESENT) { + m->m_flags |= M_FASTFWD_OURS; +@@ -6243,6 +6252,17 @@ done: + ("pf: dropping packet with ip options\n")); + } + ++ if (s) { ++ PF_DIVERT_MAXPACKETS_REACHED(); ++ ++ if (divflags) { ++ s->divert_cookie = divertcookie; ++ s->local_flags |= divflags; ++ } else { ++ divertcookie = s->divert_cookie; ++ divflags = s->local_flags; ++ } ++ } + if (s && s->tag > 0 && pf_tag_packet(m, &pd, s->tag)) { + action = PF_DROP; + REASON_SET(&reason, PFRES_MEMORY); +@@ -6270,7 +6290,33 @@ done: + } + #endif /* ALTQ */ + +- if (s && (s->dnpipe || s->pdnpipe)) { ++ if (divflags & PFSTATE_DIVERT_TAG) ++ pd.pf_mtag->tag = divertcookie; ++ else if (divflags & PFSTATE_DIVERT_ALTQ) ++ pd.pf_mtag->qid = divertcookie; ++ else if (divflags & PFSTATE_DIVERT_ACTION) { ++ struct pf_rule *dlr; ++ action = PF_DROP; ++ if (s) ++ pf_unlink_state(s, PF_ENTER_LOCKED); ++ REASON_SET(&reason, PFRES_DIVERT); ++ log = 1; ++ DPFPRINTF(PF_DEBUG_MISC, ++ ("pf: changing action to with overload from divert.\n")); ++ dlr = r; ++ PFLOG_PACKET(kif, m, AF_INET, dir, reason, dlr, a, ++ ruleset, &pd, (s == NULL)); ++ m_freem(*m0); ++ *m0 = NULL; ++ /* NOTE: Fake this to avoid divert giving errors to the application. */ ++ return (PF_PASS); ++ } ++ ++ if (divflags & PFSTATE_DIVERT_DNCOOKIE) { ++ pd.act.dnpipe = divertcookie; ++ pd.act.pdnpipe = divertcookie; ++ pd.act.flags |= PFRULE_DN_IS_PIPE; ++ } else if (s && (s->dnpipe || s->pdnpipe)) { + pd.act.dnpipe = s->dnpipe; + pd.act.pdnpipe = s->pdnpipe; + pd.act.flags = s->state_flags; +@@ -6325,10 +6371,51 @@ done: + PF_STATE_UNLOCK(s); + return (action); + } +- } else +- pd.pf_mtag->flags &= ~PF_PACKET_LOOPED; ++ } + continueprocessing: + ++ if (action == PF_PASS && r->divert.port && ip_divert_ptr != NULL && ++ !PACKET_LOOPED(&pd)) { ++ if (!r->spare1 || ++ (s && s->packets[dir == PF_OUT] <= r->spare1)) { ++ ipfwtag = m_tag_alloc(MTAG_IPFW_RULE, 0, ++ sizeof(struct ipfw_rule_ref), M_NOWAIT | M_ZERO); ++ if (ipfwtag != NULL) { ++ ((struct ipfw_rule_ref *)(ipfwtag+1))->info = ++ ntohs(r->divert.port); ++ ((struct ipfw_rule_ref *)(ipfwtag+1))->rulenum = dir; ++ ++ if (s) ++ PF_STATE_UNLOCK(s); ++ ++ m_tag_prepend(m, ipfwtag); ++ if (m->m_flags & M_FASTFWD_OURS) { ++ if (pd.pf_mtag == NULL && ++ ((pd.pf_mtag = pf_get_mtag(m)) == NULL)) { ++ action = PF_DROP; ++ REASON_SET(&reason, PFRES_MEMORY); ++ log = 1; ++ DPFPRINTF(PF_DEBUG_MISC, ++ ("pf: failed to allocate tag\n")); ++ } ++ pd.pf_mtag->flags |= PF_FASTFWD_OURS_PRESENT; ++ m->m_flags &= ~M_FASTFWD_OURS; ++ } ++ ip_divert_ptr(*m0, dir == PF_IN ? DIR_IN : DIR_OUT); ++ *m0 = NULL; ++ ++ return (action); ++ } else { ++ /* XXX: ipfw has the same behaviour! */ ++ action = PF_DROP; ++ REASON_SET(&reason, PFRES_MEMORY); ++ log = 1; ++ DPFPRINTF(PF_DEBUG_MISC, ++ ("pf: failed to allocate divert tag\n")); ++ } ++ } ++ } ++ + /* + * connections redirected to loopback should not match sockets + * bound specifically to loopback due to security implications, +@@ -6338,49 +6425,14 @@ continueprocessing: + pd.proto == IPPROTO_UDP) && s != NULL && s->nat_rule.ptr != NULL && + (s->nat_rule.ptr->action == PF_RDR || + s->nat_rule.ptr->action == PF_BINAT) && +- (ntohl(pd.dst->v4.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET) ++ (ntohl(pd.dst->v4.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET) { + m->m_flags |= M_SKIP_FIREWALL; +- +- if (action == PF_PASS && r->divert.port && ip_divert_ptr != NULL && +- !PACKET_LOOPED(&pd)) { +- +- ipfwtag = m_tag_alloc(MTAG_IPFW_RULE, 0, +- sizeof(struct ipfw_rule_ref), M_NOWAIT | M_ZERO); +- if (ipfwtag != NULL) { +- ((struct ipfw_rule_ref *)(ipfwtag+1))->info = +- ntohs(r->divert.port); +- ((struct ipfw_rule_ref *)(ipfwtag+1))->rulenum = dir; +- +- if (s) +- PF_STATE_UNLOCK(s); +- +- m_tag_prepend(m, ipfwtag); +- if (m->m_flags & M_FASTFWD_OURS) { +- if (pd.pf_mtag == NULL && +- ((pd.pf_mtag = pf_get_mtag(m)) == NULL)) { +- action = PF_DROP; +- REASON_SET(&reason, PFRES_MEMORY); +- log = 1; +- DPFPRINTF(PF_DEBUG_MISC, +- ("pf: failed to allocate tag\n")); +- } +- pd.pf_mtag->flags |= PF_FASTFWD_OURS_PRESENT; +- m->m_flags &= ~M_FASTFWD_OURS; +- } +- ip_divert_ptr(*m0, dir == PF_IN ? DIR_IN : DIR_OUT); +- *m0 = NULL; +- +- return (action); +- } else { +- /* XXX: ipfw has the same behaviour! */ +- action = PF_DROP; +- REASON_SET(&reason, PFRES_MEMORY); +- log = 1; +- DPFPRINTF(PF_DEBUG_MISC, +- ("pf: failed to allocate divert tag\n")); +- } ++ if (PACKET_LOOPED(pd.pf_mtag) && !loopedfrom) ++ m->m_flags |= M_FASTFWD_OURS; + } + ++ pd.pf_mtag->flags &= ~PF_PACKET_LOOPED; ++ + if (log) { + struct pf_rule *lr; + +@@ -6502,7 +6554,7 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + + PF_RULES_RLOCK(); + +- if (ip_dn_io_ptr != NULL && ++ if (((ip_dn_io_ptr != NULL) || (ip_divert_ptr != NULL)) && + ((dn_tag = m_tag_locate(m, MTAG_IPFW_RULE, 0, NULL)) != NULL)) { + struct ipfw_rule_ref *rr = (struct ipfw_rule_ref *)(dn_tag+1); + pd.pf_mtag->flags |= PF_PACKET_LOOPED; diff --git a/patches/RELENG_10_0/dscp.RELENG_10.diff b/patches/RELENG_10_0/dscp.RELENG_10.diff new file mode 100644 index 0000000..f43b911 --- /dev/null +++ b/patches/RELENG_10_0/dscp.RELENG_10.diff @@ -0,0 +1,230 @@ +diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y +index 99c26c0..90e0959 100644 +--- a/sbin/pfctl/parse.y ++++ b/sbin/pfctl/parse.y +@@ -215,6 +215,7 @@ struct filter_opts { + #define FOM_TOS 0x04 + #define FOM_KEEP 0x08 + #define FOM_SRCTRACK 0x10 ++#define FOM_DSCP 0x20 + struct node_uid *uid; + struct node_gid *gid; + struct { +@@ -225,6 +226,7 @@ struct filter_opts { + } flags; + struct node_icmp *icmpspec; + u_int32_t tos; ++ u_int32_t dscp; + u_int32_t prob; + struct { + int action; +@@ -440,7 +442,7 @@ int parseport(char *, struct range *r, int); + %token RETURNRST RETURNICMP RETURNICMP6 PROTO INET INET6 ALL ANY ICMPTYPE + %token ICMP6TYPE CODE KEEP MODULATE STATE PORT RDR NAT BINAT ARROW NODF + %token MINTTL ERROR ALLOWOPTS FASTROUTE FILENAME ROUTETO DUPTO REPLYTO NO LABEL +-%token NOROUTE URPFFAILED FRAGMENT USER GROUP MAXMSS MAXIMUM TTL TOS DROP TABLE ++%token NOROUTE URPFFAILED FRAGMENT USER GROUP MAXMSS MAXIMUM TTL TOS DSCP DROP TABLE + %token REASSEMBLE FRAGDROP FRAGCROP ANCHOR NATANCHOR RDRANCHOR BINATANCHOR + %token SET OPTIMIZATION TIMEOUT LIMIT LOGINTERFACE BLOCKPOLICY RANDOMID + %token REQUIREORDER SYNPROXY FINGERPRINTS NOSYNC DEBUG SKIP HOSTID +@@ -458,7 +460,7 @@ int parseport(char *, struct range *r, int); + %token PORTBINARY + %type interface if_list if_item_not if_item + %type number icmptype icmp6type uid gid +-%type tos not yesno ++%type tos dscp not yesno + %type probability + %type no dir af fragcache optimizer + %type sourcetrack flush unaryop statelock +@@ -1928,7 +1930,14 @@ pfrule : action dir logquick interface route af proto fromto + #endif + } + +- r.tos = $9.tos; ++ if ($9.tos) { ++ r.tos = $9.tos; ++ r.rule_flag |= PFRULE_TOS; ++ } ++ if ($9.dscp) { ++ r.tos = $9.dscp; ++ r.rule_flag |= PFRULE_DSCP; ++ } + r.keep_state = $9.keep.action; + o = $9.keep.options; + +@@ -2306,6 +2315,14 @@ filter_opt : USER uids { + filter_opts.marker |= FOM_TOS; + filter_opts.tos = $2; + } ++ | dscp { ++ if (filter_opts.marker & FOM_DSCP) { ++ yyerror("dscp cannot be redefined"); ++ YYERROR; ++ } ++ filter_opts.marker |= FOM_DSCP; ++ filter_opts.dscp = $1; ++ } + | keep { + if (filter_opts.marker & FOM_KEEP) { + yyerror("modulate or keep cannot be redefined"); +@@ -3398,6 +3415,48 @@ tos : STRING { + } + ; + ++dscp : DSCP STRING { ++ if (!strcmp($2, "EF")) ++ $$ = DSCP_EF; ++ else if (!strcmp($2, "VA")) ++ $$ = DSCP_VA; ++ else if (!strcmp($2, "af11")) ++ $$ = DSCP_AF11; ++ else if (!strcmp($2, "af12")) ++ $$ = DSCP_AF12; ++ else if (!strcmp($2, "af13")) ++ $$ = DSCP_AF13; ++ else if (!strcmp($2, "af21")) ++ $$ = DSCP_AF21; ++ else if (!strcmp($2, "af22")) ++ $$ = DSCP_AF22; ++ else if (!strcmp($2, "af23")) ++ $$ = DSCP_AF23; ++ else if (!strcmp($2, "af31")) ++ $$ = DSCP_AF31; ++ else if (!strcmp($2, "af32")) ++ $$ = DSCP_AF32; ++ else if (!strcmp($2, "af33")) ++ $$ = DSCP_AF33; ++ else if (!strcmp($2, "af41")) ++ $$ = DSCP_AF41; ++ else if (!strcmp($2, "af42")) ++ $$ = DSCP_AF42; ++ else if (!strcmp($2, "af43")) ++ $$ = DSCP_AF43; ++ else if ($2[0] == '0' && $2[1] == 'x') ++ $$ = strtoul($2, NULL, 16) * 4; ++ else ++ $$ = strtoul($2, NULL, 10) * 4; ++ if (!$$ || $$ > 255) { ++ yyerror("illegal dscp value %s", $2); ++ free($2); ++ YYERROR; ++ } ++ free($2); ++ } ++ ; ++ + sourcetrack : SOURCETRACK { $$ = PF_SRCTRACK; } + | SOURCETRACK GLOBAL { $$ = PF_SRCTRACK_GLOBAL; } + | SOURCETRACK RULE { $$ = PF_SRCTRACK_RULE; } +@@ -4440,6 +4497,10 @@ filter_consistent(struct pf_rule *r, int anchor_call) + "synproxy state or modulate state"); + problems++; + } ++ if ((r->rule_flag & PFRULE_TOS) && (r->rule_flag & PFRULE_DSCP)) { ++ yyerror("tos and dscp cannot be used together"); ++ problems++; ++ } + return (-problems); + } + +@@ -5234,6 +5295,7 @@ lookup(char *s) + { "divert-to", DIVERTTO}, + { "drop", DROP}, + { "drop-ovl", FRAGDROP}, ++ { "dscp", DSCP}, + { "dup-to", DUPTO}, + { "fastroute", FASTROUTE}, + { "file", FILENAME}, +diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c +index f248995..544bc22 100644 +--- a/sbin/pfctl/pfctl_parser.c ++++ b/sbin/pfctl/pfctl_parser.c +@@ -847,8 +847,10 @@ print_rule(struct pf_rule *r, const char *anchor_call, int verbose, int numeric) + printf(" code %u", r->code-1); + } + } +- if (r->tos) +- printf(" tos 0x%2.2x", r->tos); ++ if (r->tos && (r->rule_flag & PFRULE_TOS)) ++ printf(" tos 0x%2.2x", r->tos); ++ if (r->tos && (r->rule_flag & PFRULE_DSCP)) ++ printf(" dscp 0x%2.2x", r->tos & DSCP_MASK); + if (!r->keep_state && r->action == PF_PASS && !anchor_call[0]) + printf(" no state"); + else if (r->keep_state == PF_STATE_NORMAL) +diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h +index c16591b..8ac2659 100644 +--- a/sys/net/pfvar.h ++++ b/sys/net/pfvar.h +@@ -643,6 +643,29 @@ struct pf_rule { + u_int8_t allow_opts; + u_int8_t rt; + u_int8_t return_ttl; ++ ++#ifndef DSCP_EF ++/* Copied from altq_cdnr.h */ ++/* diffserve code points */ ++#define DSCP_MASK 0xfc ++#define DSCP_CUMASK 0x03 ++#define DSCP_VA 0xb0 ++#define DSCP_EF 0xb8 ++#define DSCP_AF11 0x28 ++#define DSCP_AF12 0x30 ++#define DSCP_AF13 0x38 ++#define DSCP_AF21 0x48 ++#define DSCP_AF22 0x50 ++#define DSCP_AF23 0x58 ++#define DSCP_AF31 0x68 ++#define DSCP_AF32 0x70 ++#define DSCP_AF33 0x78 ++#define DSCP_AF41 0x88 ++#define DSCP_AF42 0x90 ++#define DSCP_AF43 0x98 ++#define AF_CLASSMASK 0xe0 ++#define AF_DROPPRECMASK 0x18 ++#endif + u_int8_t tos; + u_int8_t set_tos; + u_int8_t anchor_relative; +@@ -677,6 +699,13 @@ struct pf_rule { + #define PFRULE_REASSEMBLE_TCP 0x1000 + #define PFRULE_SET_TOS 0x2000 + ++/* rule flags for TOS or DSCP differentiation */ ++#define PFRULE_TOS 0x2000 ++#define PFRULE_DSCP 0x4000 ++ ++/* rule flags for handling ALTQ hashing required by certain disciplines */ ++#define PFRULE_ALTQ_HASH 0x8000 ++ + /* rule flags again */ + #define PFRULE_IFBOUND 0x00010000 /* if-bound */ + #define PFRULE_STATESLOPPY 0x00020000 /* sloppy state tracking */ +diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c +index 2de8c40..5786066b 100644 +--- a/sys/netpfil/pf/pf.c ++++ b/sys/netpfil/pf/pf.c +@@ -3216,8 +3216,11 @@ pf_test_rule(struct pf_rule **rm, struct pf_state **sm, int direction, + /* icmp only. type always 0 in other cases */ + else if (r->code && r->code != icmpcode + 1) + r = TAILQ_NEXT(r, entries); +- else if (r->tos && !(r->tos == pd->tos)) +- r = TAILQ_NEXT(r, entries); ++ else if ((r->rule_flag & PFRULE_TOS) && r->tos && !(r->tos == pd->tos)) ++ r = TAILQ_NEXT(r, entries); ++ else if ((r->rule_flag & PFRULE_DSCP) && r->tos && ++ !(r->tos == (pd->tos & DSCP_MASK))) ++ r = TAILQ_NEXT(r, entries); + else if (r->rule_flag & PFRULE_FRAGMENT) + r = TAILQ_NEXT(r, entries); + else if (pd->proto == IPPROTO_TCP && +@@ -3655,6 +3658,9 @@ pf_test_fragment(struct pf_rule **rm, int direction, struct pfi_kif *kif, + r = r->skip[PF_SKIP_DST_ADDR].ptr; + else if (r->tos && !(r->tos == pd->tos)) + r = TAILQ_NEXT(r, entries); ++ else if ((r->rule_flag & PFRULE_DSCP) && r->tos && ++ !(r->tos == (pd->tos & DSCP_MASK))) ++ r = TAILQ_NEXT(r, entries); + else if (r->os_fingerprint != PF_OSFP_ANY) + r = TAILQ_NEXT(r, entries); + else if (pd->proto == IPPROTO_UDP && diff --git a/patches/RELENG_10_0/dummynet.RELENG_10.diff b/patches/RELENG_10_0/dummynet.RELENG_10.diff new file mode 100644 index 0000000..deec18d --- /dev/null +++ b/patches/RELENG_10_0/dummynet.RELENG_10.diff @@ -0,0 +1,626 @@ +diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y +index c7e4077..6ca32f0 100644 +--- a/sbin/pfctl/parse.y ++++ b/sbin/pfctl/parse.y +@@ -239,6 +239,9 @@ struct filter_opts { + char *tag; + char *match_tag; + u_int8_t match_tag_not; ++ u_int32_t dnpipe; ++ u_int32_t pdnpipe; ++ u_int32_t free_flags; + u_int rtableid; + struct { + struct node_host *addr; +@@ -450,6 +453,7 @@ int parseport(char *, struct range *r, int); + %token BITMASK RANDOM SOURCEHASH ROUNDROBIN STATICPORT PROBABILITY + %token ALTQ CBQ PRIQ HFSC BANDWIDTH TBRSIZE LINKSHARE REALTIME UPPERLIMIT + %token QUEUE PRIORITY QLIMIT RTABLE ++%token DNPIPE DNQUEUE + %token LOAD RULESET_OPTIMIZATION + %token STICKYADDRESS MAXSRCSTATES MAXSRCNODES SOURCETRACK GLOBAL RULE + %token MAXSRCCONN MAXSRCCONNRATE OVERLOAD FLUSH SLOPPY +@@ -1600,14 +1604,22 @@ bandwidth : STRING { + + bps = strtod($1, &cp); + if (cp != NULL) { +- if (!strcmp(cp, "b")) ++ if (!strcmp(cp, "b") || !strcmp(cp, "bit")) + ; /* nothing */ +- else if (!strcmp(cp, "Kb")) ++ else if (!strcmp(cp, "Kb") || !strcmp(cp, "Kbit")) + bps *= 1000; +- else if (!strcmp(cp, "Mb")) ++ else if (!strcmp(cp, "Mb") || !strcmp(cp, "Mbit")) + bps *= 1000 * 1000; +- else if (!strcmp(cp, "Gb")) ++ else if (!strcmp(cp, "Gb") || !strcmp(cp, "Gbit")) + bps *= 1000 * 1000 * 1000; ++ else if (!strcmp(cp, "B") || !strcmp(cp, "Byte")) ++ ; /* nothing */ ++ else if (!strcmp(cp, "KB") || !strcmp(cp, "Kbyte")) ++ bps *= 1024; ++ else if (!strcmp(cp, "MB") || !strcmp(cp, "Mbyte")) ++ bps *= 1024 * 1024; ++ else if (!strcmp(cp, "GB") || !strcmp(cp, "Gbyte")) ++ bps *= 1024 * 1024 * 1024; + else if (!strcmp(cp, "%")) { + if (bps < 0 || bps > 100) { + yyerror("bandwidth spec " +@@ -2255,6 +2267,15 @@ pfrule : action dir logquick interface route af proto fromto + } + #endif + ++ if ($9.dnpipe) { ++ r.dnpipe = $9.dnpipe; ++ if ($9.free_flags & PFRULE_DN_IS_PIPE) ++ r.free_flags |= PFRULE_DN_IS_PIPE; ++ else ++ r.free_flags |= PFRULE_DN_IS_QUEUE; ++ r.pdnpipe = $9.pdnpipe; ++ } ++ + expand_rule(&r, $4, $5.host, $7, $8.src_os, + $8.src.host, $8.src.port, $8.dst.host, $8.dst.port, + $9.uid, $9.gid, $9.icmpspec, ""); +@@ -2352,6 +2373,32 @@ filter_opt : USER uids { + } + filter_opts.queues = $1; + } ++ | DNPIPE number { ++ filter_opts.dnpipe = $2; ++ filter_opts.free_flags |= PFRULE_DN_IS_PIPE; ++ } ++ | DNPIPE '(' number ')' { ++ filter_opts.dnpipe = $3; ++ filter_opts.free_flags |= PFRULE_DN_IS_PIPE; ++ } ++ | DNPIPE '(' number comma number ')' { ++ filter_opts.pdnpipe = $5; ++ filter_opts.dnpipe = $3; ++ filter_opts.free_flags |= PFRULE_DN_IS_PIPE; ++ } ++ | DNQUEUE number { ++ filter_opts.dnpipe = $2; ++ filter_opts.free_flags |= PFRULE_DN_IS_QUEUE; ++ } ++ | DNQUEUE '(' number comma number ')' { ++ filter_opts.pdnpipe = $5; ++ filter_opts.dnpipe = $3; ++ filter_opts.free_flags |= PFRULE_DN_IS_QUEUE; ++ } ++ | DNQUEUE '(' number ')' { ++ filter_opts.dnpipe = $3; ++ filter_opts.free_flags |= PFRULE_DN_IS_QUEUE; ++ } + | TAG string { + filter_opts.tag = $2; + } +@@ -4501,6 +4548,11 @@ filter_consistent(struct pf_rule *r, int anchor_call) + yyerror("tos and dscp cannot be used together"); + problems++; + } ++ if (r->dnpipe && r->pdnpipe && !r->direction) { ++ yyerror("dummynet cannot be specified without direction"); ++ problems++; ++ } ++ + return (-problems); + } + +@@ -5291,6 +5343,8 @@ lookup(char *s) + { "code", CODE}, + { "crop", FRAGCROP}, + { "debug", DEBUG}, ++ { "dnpipe", DNPIPE}, ++ { "dnqueue", DNQUEUE}, + { "divert-reply", DIVERTREPLY}, + { "divert-to", DIVERTTO}, + { "drop", DROP}, +diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c +index abe7889..547d7ca 100644 +--- a/sbin/pfctl/pfctl_parser.c ++++ b/sbin/pfctl/pfctl_parser.c +@@ -1001,6 +1001,14 @@ print_rule(struct pf_rule *r, const char *anchor_call, int verbose, int numeric) + } + if (r->label[0]) + printf(" label \"%s\"", r->label); ++ if (r->dnpipe && r->pdnpipe) ++ printf(" %s(%d, %d)", ++ r->free_flags & PFRULE_DN_IS_PIPE ? "dnpipe" : "dnqueue", ++ r->dnpipe, r->pdnpipe); ++ else if (r->dnpipe) ++ printf(" %s %d", ++ r->free_flags & PFRULE_DN_IS_PIPE ? "dnpipe" : "dnqueue", ++ r->dnpipe); + if (r->qname[0] && r->pqname[0]) + printf(" queue(%s, %s)", r->qname, r->pqname); + else if (r->qname[0]) +diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h +index 43ee817..caa230c 100644 +--- a/sys/net/pfvar.h ++++ b/sys/net/pfvar.h +@@ -603,6 +603,11 @@ struct pf_rule { + } max_src_conn_rate; + u_int32_t qid; + u_int32_t pqid; ++ u_int32_t dnpipe; ++ u_int32_t pdnpipe; ++#define PFRULE_DN_IS_PIPE 0x00000010 ++#define PFRULE_DN_IS_QUEUE 0x00000020 ++ u_int32_t free_flags; + u_int32_t rt_listid; + u_int32_t nr; + u_int32_t prob; +diff --git a/sys/netpfil/ipfw/ip_dn_io.c b/sys/netpfil/ipfw/ip_dn_io.c +index 36ccc8a..0974ca3 100644 +--- a/sys/netpfil/ipfw/ip_dn_io.c ++++ b/sys/netpfil/ipfw/ip_dn_io.c +@@ -651,6 +651,7 @@ dummynet_send(struct mbuf *m) + * to carry reinject info. + */ + dst = pkt->dn_dir; ++ pkt->rule.info |= IPFW_IS_DUMMYNET; + ifp = pkt->ifp; + tag->m_tag_cookie = MTAG_IPFW_RULE; + tag->m_tag_id = 0; +diff --git a/sys/netpfil/ipfw/ip_dummynet.c b/sys/netpfil/ipfw/ip_dummynet.c +index 46f1fd4..418c2de 100644 +--- a/sys/netpfil/ipfw/ip_dummynet.c ++++ b/sys/netpfil/ipfw/ip_dummynet.c +@@ -2290,7 +2290,6 @@ static moduledata_t dummynet_mod = { + #define DN_SI_SUB SI_SUB_PROTO_IFATTACHDOMAIN + #define DN_MODEV_ORD (SI_ORDER_ANY - 128) /* after ipfw */ + DECLARE_MODULE(dummynet, dummynet_mod, DN_SI_SUB, DN_MODEV_ORD); +-MODULE_DEPEND(dummynet, ipfw, 2, 2, 2); + MODULE_VERSION(dummynet, 3); + + /* +diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c +index 3cc4129..07d6987 100644 +--- a/sys/netpfil/pf/pf.c ++++ b/sys/netpfil/pf/pf.c +@@ -87,6 +87,8 @@ __FBSDID("$FreeBSD: stable/10/sys/netpfil/pf/pf.c 254523 2013-08-19 13:27:32Z an + #include + + #include /* XXX: only for DIR_IN/DIR_OUT */ ++#include ++#include + + #ifdef INET6 + #include +@@ -260,7 +262,8 @@ static int pf_test_state_icmp(struct pf_state **, int, + struct pfi_kif *, struct mbuf *, int, + void *, struct pf_pdesc *, u_short *); + static int pf_test_state_other(struct pf_state **, int, +- struct pfi_kif *, struct mbuf *, struct pf_pdesc *); ++ struct pfi_kif *, struct mbuf *, int, ++ struct pf_pdesc *); + static u_int8_t pf_get_wscale(struct mbuf *, int, u_int16_t, + sa_family_t); + static u_int16_t pf_get_mss(struct mbuf *, int, u_int16_t, +@@ -285,6 +288,10 @@ static u_int pf_purge_expired_states(u_int, int); + static void pf_purge_unlinked_rules(void); + static int pf_mtag_init(void *, int, int); + static void pf_mtag_free(struct m_tag *); ++static void pf_packet_redo_nat(struct mbuf *, struct pf_pdesc *, ++ int, struct pf_state *, int); ++static void pf_packet_undo_nat(struct mbuf *, struct pf_pdesc *, ++ int, struct pf_state *, int); + #ifdef INET + static void pf_route(struct mbuf **, struct pf_rule *, int, + struct ifnet *, struct pf_state *, +@@ -304,16 +311,19 @@ VNET_DECLARE(int, pf_end_threads); + + VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]); + +-#define PACKET_LOOPED(pd) ((pd)->pf_mtag && \ +- (pd)->pf_mtag->flags & PF_PACKET_LOOPED) ++#define PACKET_LOOPED(mtag) ((mtag)->flags & PF_PACKET_LOOPED) + + #define STATE_LOOKUP(i, k, d, s, pd) \ + do { \ + (s) = pf_find_state((i), (k), (d)); \ + if ((s) == NULL || (s)->timeout == PFTM_PURGE) \ + return (PF_DROP); \ +- if (PACKET_LOOPED(pd)) \ +- return (PF_PASS); \ ++ if (PACKET_LOOPED(pd->pf_mtag)) { \ ++ if ((s)->key[PF_SK_WIRE] != (s)->key[PF_SK_STACK]) { \ ++ pf_packet_redo_nat(m, pd, off, s, direction); \ ++ } \ ++ return (PF_PASS); \ ++ } \ + if ((d) == PF_OUT && \ + (((s)->rule.ptr->rt == PF_ROUTETO && \ + (s)->rule.ptr->direction == PF_OUT) || \ +@@ -374,6 +384,142 @@ VNET_DEFINE(void *, pf_swi_cookie); + VNET_DEFINE(uint32_t, pf_hashseed); + #define V_pf_hashseed VNET(pf_hashseed) + ++static void ++pf_packet_undo_nat(struct mbuf *m, struct pf_pdesc *pd, int off, ++ struct pf_state *state, int direction) ++{ ++ struct pf_state_key *nk = (state)->key[pd->didx]; ++ ++ switch (pd->proto) { ++ case IPPROTO_TCP: { ++ struct tcphdr *th = pd->hdr.tcp; ++ ++ if (direction == PF_OUT) { ++ pf_change_ap(pd->src, &th->th_sport, pd->ip_sum, ++ &th->th_sum, &nk->addr[pd->sidx], ++ nk->port[pd->sidx], 0, pd->af); ++ } else { ++ pf_change_ap(pd->dst, &th->th_dport, pd->ip_sum, ++ &th->th_sum, &nk->addr[pd->didx], ++ nk->port[pd->didx], 0, pd->af); ++ } ++ m_copyback(m, off, sizeof(*th), (caddr_t)th); ++ } ++ break; ++ case IPPROTO_UDP: { ++ struct udphdr *uh = pd->hdr.udp; ++ ++ if (direction == PF_OUT) { ++ pf_change_ap(pd->src, &uh->uh_sport, pd->ip_sum, ++ &uh->uh_sum, &nk->addr[pd->sidx], ++ nk->port[pd->sidx], 1, pd->af); ++ } else { ++ pf_change_ap(pd->dst, &uh->uh_dport, pd->ip_sum, ++ &uh->uh_sum, &nk->addr[pd->didx], ++ nk->port[pd->didx], 1, pd->af); ++ } ++ m_copyback(m, off, sizeof(*uh), (caddr_t)uh); ++ } ++ break; ++ case IPPROTO_ICMP: ++ /* XXX: If we want to do this for icmp is probably wrong!?! */ ++ break; ++ default: ++ if (direction == PF_OUT) { ++ switch (pd->af) { ++ case AF_INET: ++ pf_change_a(&pd->src->v4.s_addr, ++ pd->ip_sum, nk->addr[pd->sidx].v4.s_addr, ++ 0); ++ break; ++ case AF_INET6: ++ PF_ACPY(pd->src, &nk->addr[pd->sidx], pd->af); ++ break; ++ } ++ } else { ++ switch (pd->af) { ++ case AF_INET: ++ pf_change_a(&pd->dst->v4.s_addr, ++ pd->ip_sum, nk->addr[pd->didx].v4.s_addr, ++ 0); ++ break; ++ case AF_INET6: ++ PF_ACPY(pd->dst, &nk->addr[pd->didx], pd->af); ++ break; ++ } ++ } ++ break; ++ } ++} ++ ++static void ++pf_packet_redo_nat(struct mbuf *m, struct pf_pdesc *pd, int off, ++ struct pf_state *state, int direction) ++{ ++ struct pf_state_key *nk = state->key[pd->didx]; ++ ++ switch (pd->proto) { ++ case IPPROTO_TCP: { ++ struct tcphdr *th = pd->hdr.tcp; ++ ++ if (direction == PF_OUT) { ++ pf_change_ap(pd->src, &th->th_sport, pd->ip_sum, ++ &th->th_sum, &nk->addr[pd->sidx], ++ nk->port[pd->sidx], 0, pd->af); ++ } else { ++ pf_change_ap(pd->dst, &th->th_dport, pd->ip_sum, ++ &th->th_sum, &nk->addr[pd->didx], ++ nk->port[pd->didx], 0, pd->af); ++ } ++ m_copyback(m, off, sizeof(*th), (caddr_t)th); ++ } ++ break; ++ case IPPROTO_UDP: { ++ struct udphdr *uh = pd->hdr.udp; ++ ++ if (direction == PF_OUT) { ++ pf_change_ap(pd->src, &uh->uh_sport, pd->ip_sum, ++ &uh->uh_sum, &nk->addr[pd->sidx], ++ nk->port[pd->sidx], 1, pd->af); ++ } else { ++ pf_change_ap(pd->dst, &uh->uh_dport, pd->ip_sum, ++ &uh->uh_sum, &nk->addr[pd->didx], ++ nk->port[pd->didx], 1, pd->af); ++ } ++ m_copyback(m, off, sizeof(*uh), (caddr_t)uh); ++ } ++ break; ++ case IPPROTO_ICMP: ++ /* XXX: If we want to do this for icmp is probably wrong!?! */ ++ break; ++ default: ++ if (direction == PF_OUT) { ++ switch (pd->af) { ++ case AF_INET: ++ pf_change_a(&pd->src->v4.s_addr, ++ pd->ip_sum, nk->addr[pd->sidx].v4.s_addr, ++ 0); ++ break; ++ case AF_INET6: ++ PF_ACPY(pd->src, &nk->addr[pd->sidx], pd->af); ++ break; ++ } ++ } else { ++ switch (pd->af) { ++ case AF_INET: ++ pf_change_a(&pd->dst->v4.s_addr, ++ pd->ip_sum, nk->addr[pd->didx].v4.s_addr, ++ 0); ++ break; ++ case AF_INET6: ++ PF_ACPY(pd->dst, &nk->addr[pd->didx], pd->af); ++ break; ++ } ++ } ++ break; ++ } ++} ++ + static __inline uint32_t + pf_hashkey(struct pf_state_key *sk) + { +@@ -4946,7 +5092,7 @@ pf_test_state_icmp(struct pf_state **state, int direction, struct pfi_kif *kif, + + static int + pf_test_state_other(struct pf_state **state, int direction, struct pfi_kif *kif, +- struct mbuf *m, struct pf_pdesc *pd) ++ struct mbuf *m, int off, struct pf_pdesc *pd) + { + struct pf_state_peer *src, *dst; + struct pf_state_key_cmp key; +@@ -5639,7 +5785,9 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + struct pf_state *s = NULL; + struct pf_ruleset *ruleset = NULL; + struct pf_pdesc pd; +- int off, dirndx, pqid = 0; ++ int off = 0, dirndx, pqid = 0; ++ int loopedfrom = 0; ++ struct ip_fw_args dnflow; + + M_ASSERTPKTHDR(m); + +@@ -5665,22 +5813,24 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + + PF_RULES_RLOCK(); + +- if (ip_divert_ptr != NULL && ++ if ((ip_divert_ptr != NULL || ip_dn_io_ptr != NULL) && + ((ipfwtag = m_tag_locate(m, MTAG_IPFW_RULE, 0, NULL)) != NULL)) { + struct ipfw_rule_ref *rr = (struct ipfw_rule_ref *)(ipfwtag+1); ++ pd.pf_mtag->flags |= PF_PACKET_LOOPED; ++ if (rr->info & IPFW_IS_DUMMYNET) ++ loopedfrom = 1; + if (rr->info & IPFW_IS_DIVERT && rr->rulenum == 0) { + if (pd.pf_mtag == NULL && + ((pd.pf_mtag = pf_get_mtag(m)) == NULL)) { + action = PF_DROP; + goto done; + } +- pd.pf_mtag->flags |= PF_PACKET_LOOPED; +- m_tag_delete(m, ipfwtag); + } + if (pd.pf_mtag && pd.pf_mtag->flags & PF_FASTFWD_OURS_PRESENT) { + m->m_flags |= M_FASTFWD_OURS; + pd.pf_mtag->flags &= ~PF_FASTFWD_OURS_PRESENT; + } ++ m_tag_delete(m, ipfwtag); + } else if (pf_normalize_ip(m0, dir, kif, &reason, &pd) != PF_PASS) { + /* We do IP header normalization and packet reassembly here */ + action = PF_DROP; +@@ -5723,6 +5873,10 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + struct tcphdr th; + + pd.hdr.tcp = &th; ++ dnflow.f_id._flags = th.th_flags; ++ dnflow.f_id.dst_port = ntohs(th.th_dport); ++ dnflow.f_id.src_port = ntohs(th.th_sport); ++ + if (!pf_pull_hdr(m, off, &th, sizeof(th), + &action, &reason, AF_INET)) { + log = action != PF_PASS; +@@ -5752,6 +5906,9 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + struct udphdr uh; + + pd.hdr.udp = &uh; ++ dnflow.f_id.dst_port = ntohs(uh.uh_dport); ++ dnflow.f_id.src_port = ntohs(uh.uh_sport); ++ + if (!pf_pull_hdr(m, off, &uh, sizeof(uh), + &action, &reason, AF_INET)) { + log = action != PF_PASS; +@@ -5810,7 +5967,7 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + #endif + + default: +- action = pf_test_state_other(&s, dir, kif, m, &pd); ++ action = pf_test_state_other(&s, dir, kif, m, off, &pd); + if (action == PF_PASS) { + if (pfsync_update_state_ptr != NULL) + pfsync_update_state_ptr(s); +@@ -5858,6 +6015,54 @@ done: + } + #endif /* ALTQ */ + ++ if (r->dnpipe && ip_dn_io_ptr != NULL && loopedfrom != 1) { ++ if (dir != r->direction && r->pdnpipe) { ++ dnflow.rule.info = r->pdnpipe; ++ } else if (dir == r->direction) { ++ dnflow.rule.info = r->dnpipe; ++ } else ++ goto continueprocessing; ++ ++ if (r->free_flags & PFRULE_DN_IS_PIPE) ++ dnflow.rule.info |= IPFW_IS_PIPE; ++ dnflow.f_id.addr_type = 4; /* IPv4 type */ ++ dnflow.f_id.proto = pd.proto; ++ if (dir == PF_OUT && s != NULL && s->nat_rule.ptr != NULL && ++ s->nat_rule.ptr->action == PF_NAT) ++ dnflow.f_id.src_ip = ntohl(s->key[(s->direction == PF_IN)]-> ++ addr[(s->direction == PF_OUT)].v4.s_addr); ++ else ++ dnflow.f_id.src_ip = ntohl(h->ip_src.s_addr); ++ dnflow.f_id.dst_ip = ntohl(h->ip_dst.s_addr); ++ dnflow.f_id.extra = dnflow.rule.info; ++ ++ if (m->m_flags & M_FASTFWD_OURS) { ++ pd.pf_mtag->flags |= PF_FASTFWD_OURS_PRESENT; ++ m->m_flags &= ~M_FASTFWD_OURS; ++ } ++ ++ if (s != NULL && s->nat_rule.ptr) ++ pf_packet_undo_nat(m, &pd, off, s, dir); ++ ++ ip_dn_io_ptr(m0, ++ (dir == PF_IN) ? DIR_IN : DIR_OUT, ++ &dnflow); ++ /* This is dummynet fast io processing */ ++ if (*m0 != NULL) { ++ m_tag_delete(*m0, m_tag_first(*m0)); ++ pd.pf_mtag->flags &= ~PF_PACKET_LOOPED; ++ if (s != NULL && s->nat_rule.ptr) ++ pf_packet_redo_nat(m, &pd, off, s, dir); ++ } else { ++ *m0 = NULL; ++ if (s) ++ PF_STATE_UNLOCK(s); ++ return (action); ++ } ++ } else ++ pd.pf_mtag->flags &= ~PF_PACKET_LOOPED; ++continueprocessing: ++ + /* + * connections redirected to loopback should not match sockets + * bound specifically to loopback due to security implications, +@@ -6004,7 +6209,10 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + struct pf_state *s = NULL; + struct pf_ruleset *ruleset = NULL; + struct pf_pdesc pd; +- int off, terminal = 0, dirndx, rh_cnt = 0; ++ int off = 0, terminal = 0, dirndx, rh_cnt = 0; ++ int loopedfrom = 0; ++ struct m_tag *dn_tag; ++ struct ip_fw_args dnflow; + + M_ASSERTPKTHDR(m); + +@@ -6028,8 +6236,20 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + + PF_RULES_RLOCK(); + ++ if (ip_dn_io_ptr != NULL && ++ ((dn_tag = m_tag_locate(m, MTAG_IPFW_RULE, 0, NULL)) != NULL)) { ++ struct ipfw_rule_ref *rr = (struct ipfw_rule_ref *)(dn_tag+1); ++ pd.pf_mtag->flags |= PF_PACKET_LOOPED; ++ if (rr->info & IPFW_IS_DUMMYNET) ++ loopedfrom = 1; ++ if (pd.pf_mtag->flags & PF_FASTFWD_OURS_PRESENT) { ++ m->m_flags |= M_FASTFWD_OURS; ++ pd.pf_mtag->flags &= ~PF_FASTFWD_OURS_PRESENT; ++ } ++ m_tag_delete(m, dn_tag); ++ } + /* We do IP header normalization and packet reassembly here */ +- if (pf_normalize_ip6(m0, dir, kif, &reason, &pd) != PF_PASS) { ++ else if (pf_normalize_ip6(m0, dir, kif, &reason, &pd) != PF_PASS) { + action = PF_DROP; + goto done; + } +@@ -6138,6 +6358,10 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + struct tcphdr th; + + pd.hdr.tcp = &th; ++ dnflow.f_id._flags = th.th_flags; ++ dnflow.f_id.dst_port = th.th_dport; ++ dnflow.f_id.src_port = th.th_sport; ++ + if (!pf_pull_hdr(m, off, &th, sizeof(th), + &action, &reason, AF_INET6)) { + log = action != PF_PASS; +@@ -6165,6 +6389,9 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + struct udphdr uh; + + pd.hdr.udp = &uh; ++ dnflow.f_id.dst_port = uh.uh_dport; ++ dnflow.f_id.src_port = uh.uh_sport; ++ + if (!pf_pull_hdr(m, off, &uh, sizeof(uh), + &action, &reason, AF_INET6)) { + log = action != PF_PASS; +@@ -6221,7 +6448,7 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) + } + + default: +- action = pf_test_state_other(&s, dir, kif, m, &pd); ++ action = pf_test_state_other(&s, dir, kif, m, off, &pd); + if (action == PF_PASS) { + if (pfsync_update_state_ptr != NULL) + pfsync_update_state_ptr(s); +@@ -6274,6 +6501,49 @@ done: + } + #endif /* ALTQ */ + ++ if (r->dnpipe && ip_dn_io_ptr != NULL && loopedfrom != 1) { ++ if (dir != r->direction && r->pdnpipe) { ++ dnflow.rule.info = r->pdnpipe; ++ } else if (dir == r->direction) { ++ dnflow.rule.info = r->dnpipe; ++ } else ++ goto continueprocessing6; ++ ++ if (r->free_flags & PFRULE_DN_IS_PIPE) ++ dnflow.rule.info |= IPFW_IS_PIPE; ++ dnflow.f_id.addr_type = 6; /* IPv4 type */ ++ dnflow.f_id.proto = pd.proto; ++ dnflow.f_id.src_ip = 0; ++ dnflow.f_id.dst_ip = 0; ++ if (dir == PF_OUT && s != NULL && s->nat_rule.ptr != NULL && ++ s->nat_rule.ptr->action == PF_NAT) ++ dnflow.f_id.src_ip6 = s->key[(s->direction == PF_IN)]->addr[0].v6; ++ else ++ dnflow.f_id.src_ip6 = h->ip6_src; ++ dnflow.f_id.dst_ip6 = h->ip6_dst; ++ ++ if (s != NULL && s->nat_rule.ptr) ++ pf_packet_undo_nat(m, &pd, off, s, dir); ++ ++ ip_dn_io_ptr(m0, ++ (dir == PF_IN) ? DIR_IN : DIR_OUT, ++ &dnflow); ++ /* This is dummynet fast io processing */ ++ if (*m0 != NULL) { ++ m_tag_delete(*m0, m_tag_first(*m0)); ++ pd.pf_mtag->flags &= ~PF_PACKET_LOOPED; ++ if (s != NULL && s->nat_rule.ptr) ++ pf_packet_redo_nat(m, &pd, off, s, dir); ++ } else { ++ *m0 = NULL; ++ if (s) ++ PF_STATE_UNLOCK(s); ++ return (action); ++ } ++ } else ++ pd.pf_mtag->flags &= ~PF_PACKET_LOOPED; ++continueprocessing6: ++ + if (dir == PF_IN && action == PF_PASS && (pd.proto == IPPROTO_TCP || + pd.proto == IPPROTO_UDP) && s != NULL && s->nat_rule.ptr != NULL && + (s->nat_rule.ptr->action == PF_RDR || diff --git a/patches/RELENG_10_0/fairq.RELENG_10.diff b/patches/RELENG_10_0/fairq.RELENG_10.diff new file mode 100644 index 0000000..43e1447 --- /dev/null +++ b/patches/RELENG_10_0/fairq.RELENG_10.diff @@ -0,0 +1,1876 @@ +diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y +index e0bde90..c7b5f41 100644 +--- a/sbin/pfctl/parse.y ++++ b/sbin/pfctl/parse.y +@@ -48,6 +48,7 @@ __FBSDID("$FreeBSD: stable/10/sbin/pfctl/parse.y 240494 2012-09-14 11:51:49Z gle + #include + #include + #include ++#include + + #include + #include +@@ -306,6 +307,7 @@ struct pool_opts { + + + struct node_hfsc_opts hfsc_opts; ++struct node_fairq_opts fairq_opts; + struct node_state_opt *keep_state_defaults = NULL; + + int disallow_table(struct node_host *, const char *); +@@ -429,6 +431,7 @@ typedef struct { + struct table_opts table_opts; + struct pool_opts pool_opts; + struct node_hfsc_opts hfsc_opts; ++ struct node_fairq_opts fairq_opts; + } v; + int lineno; + } YYSTYPE; +@@ -453,8 +456,8 @@ int parseport(char *, struct range *r, int); + %token REQUIREORDER SYNPROXY FINGERPRINTS NOSYNC DEBUG SKIP HOSTID + %token ANTISPOOF FOR INCLUDE + %token BITMASK RANDOM SOURCEHASH ROUNDROBIN STATICPORT PROBABILITY +-%token ALTQ CBQ PRIQ HFSC BANDWIDTH TBRSIZE LINKSHARE REALTIME UPPERLIMIT +-%token QUEUE PRIORITY QLIMIT RTABLE ++%token ALTQ CBQ PRIQ HFSC FAIRQ BANDWIDTH TBRSIZE LINKSHARE REALTIME UPPERLIMIT ++%token QUEUE PRIORITY QLIMIT HOGS BUCKETS RTABLE + %token DNPIPE DNQUEUE + %token LOAD RULESET_OPTIMIZATION + %token STICKYADDRESS MAXSRCSTATES MAXSRCNODES SOURCETRACK GLOBAL RULE +@@ -503,6 +506,7 @@ int parseport(char *, struct range *r, int); + %type cbqflags_list cbqflags_item + %type priqflags_list priqflags_item + %type hfscopts_list hfscopts_item hfsc_opts ++%type fairqopts_list fairqopts_item fairq_opts + %type bandwidth + %type filter_opts filter_opt filter_opts_l + %type antispoof_opts antispoof_opt antispoof_opts_l +@@ -1675,6 +1679,15 @@ scheduler : CBQ { + $$.qtype = ALTQT_HFSC; + $$.data.hfsc_opts = $3; + } ++ | FAIRQ { ++ $$.qtype = ALTQT_FAIRQ; ++ bzero(&$$.data.fairq_opts, ++ sizeof(struct node_fairq_opts)); ++ } ++ | FAIRQ '(' fairq_opts ')' { ++ $$.qtype = ALTQT_FAIRQ; ++ $$.data.fairq_opts = $3; ++ } + ; + + cbqflags_list : cbqflags_item { $$ |= $1; } +@@ -1823,6 +1836,61 @@ hfscopts_item : LINKSHARE bandwidth { + } + ; + ++fairq_opts : { ++ bzero(&fairq_opts, ++ sizeof(struct node_fairq_opts)); ++ } ++ fairqopts_list { ++ $$ = fairq_opts; ++ } ++ ; ++ ++fairqopts_list : fairqopts_item ++ | fairqopts_list comma fairqopts_item ++ ; ++ ++fairqopts_item : LINKSHARE bandwidth { ++ if (fairq_opts.linkshare.used) { ++ yyerror("linkshare already specified"); ++ YYERROR; ++ } ++ fairq_opts.linkshare.m2 = $2; ++ fairq_opts.linkshare.used = 1; ++ } ++ | LINKSHARE '(' bandwidth number bandwidth ')' { ++ if (fairq_opts.linkshare.used) { ++ yyerror("linkshare already specified"); ++ YYERROR; ++ } ++ fairq_opts.linkshare.m1 = $3; ++ fairq_opts.linkshare.d = $4; ++ fairq_opts.linkshare.m2 = $5; ++ fairq_opts.linkshare.used = 1; ++ } ++ | HOGS bandwidth { ++ fairq_opts.hogs_bw = $2; ++ } ++ | BUCKETS number { ++ fairq_opts.nbuckets = $2; ++ } ++ | STRING { ++ if (!strcmp($1, "default")) ++ fairq_opts.flags |= FARF_DEFAULTCLASS; ++ else if (!strcmp($1, "red")) ++ fairq_opts.flags |= FARF_RED; ++ else if (!strcmp($1, "ecn")) ++ fairq_opts.flags |= FARF_RED|FARF_ECN; ++ else if (!strcmp($1, "rio")) ++ fairq_opts.flags |= FARF_RIO; ++ else { ++ yyerror("unknown fairq flag \"%s\"", $1); ++ free($1); ++ YYERROR; ++ } ++ free($1); ++ } ++ ; ++ + qassign : /* empty */ { $$ = NULL; } + | qassign_item { $$ = $1; } + | '{' optnl qassign_list '}' { $$ = $3; } +@@ -4937,7 +5005,8 @@ expand_altq(struct pf_altq *a, struct node_if *interfaces, + if (n == NULL) + err(1, "expand_altq: calloc"); + if (pa.scheduler == ALTQT_CBQ || +- pa.scheduler == ALTQT_HFSC) ++ pa.scheduler == ALTQT_HFSC /* || ++ pa.scheduler == ALTQT_FAIRQ */) + if (strlcpy(n->parent, qname, + sizeof(n->parent)) >= + sizeof(n->parent)) +@@ -5372,6 +5441,7 @@ lookup(char *s) + { "bitmask", BITMASK}, + { "block", BLOCK}, + { "block-policy", BLOCKPOLICY}, ++ { "buckets", BUCKETS}, + { "cbq", CBQ}, + { "code", CODE}, + { "crop", FRAGCROP}, +@@ -5384,6 +5454,7 @@ lookup(char *s) + { "drop-ovl", FRAGDROP}, + { "dscp", DSCP}, + { "dup-to", DUPTO}, ++ { "fairq", FAIRQ}, + { "fastroute", FASTROUTE}, + { "file", FILENAME}, + { "fingerprints", FINGERPRINTS}, +@@ -5396,6 +5467,7 @@ lookup(char *s) + { "global", GLOBAL}, + { "group", GROUP}, + { "hfsc", HFSC}, ++ { "hogs", HOGS}, + { "hostid", HOSTID}, + { "icmp-type", ICMPTYPE}, + { "icmp6-type", ICMP6TYPE}, +diff --git a/sbin/pfctl/pfctl_altq.c b/sbin/pfctl/pfctl_altq.c +index 27e9a0c..9156337 100644 +--- a/sbin/pfctl/pfctl_altq.c ++++ b/sbin/pfctl/pfctl_altq.c +@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD: stable/10/sbin/pfctl/pfctl_altq.c 240494 2012-09-14 11:51:49 + #include + #include + #include ++#include + + #include "pfctl_parser.h" + #include "pfctl.h" +@@ -68,6 +69,11 @@ static int check_commit_hfsc(int, int, struct pf_altq *); + static int print_hfsc_opts(const struct pf_altq *, + const struct node_queue_opt *); + ++static int eval_pfqueue_fairq(struct pfctl *, struct pf_altq *); ++static int print_fairq_opts(const struct pf_altq *, ++ const struct node_queue_opt *); ++static int check_commit_fairq(int, int, struct pf_altq *); ++ + static void gsc_add_sc(struct gen_sc *, struct service_curve *); + static int is_gsc_under_sc(struct gen_sc *, + struct service_curve *); +@@ -88,6 +94,8 @@ int eval_queue_opts(struct pf_altq *, struct node_queue_opt *, + u_int32_t eval_bwspec(struct node_queue_bw *, u_int32_t); + void print_hfsc_sc(const char *, u_int, u_int, u_int, + const struct node_hfsc_sc *); ++void print_fairq_sc(const char *, u_int, u_int, u_int, ++ const struct node_fairq_sc *); + + void + pfaltq_store(struct pf_altq *a) +@@ -173,6 +181,10 @@ print_altq(const struct pf_altq *a, unsigned int level, + if (!print_hfsc_opts(a, qopts)) + printf("hfsc "); + break; ++ case ALTQT_FAIRQ: ++ if (!print_fairq_opts(a, qopts)) ++ printf("fairq "); ++ break; + } + + if (bw != NULL && bw->bw_percent > 0) { +@@ -203,7 +215,8 @@ print_queue(const struct pf_altq *a, unsigned int level, + printf("%s ", a->qname); + if (print_interface) + printf("on %s ", a->ifname); +- if (a->scheduler == ALTQT_CBQ || a->scheduler == ALTQT_HFSC) { ++ if (a->scheduler == ALTQT_CBQ || a->scheduler == ALTQT_HFSC || ++ a->scheduler == ALTQT_FAIRQ) { + if (bw != NULL && bw->bw_percent > 0) { + if (bw->bw_percent < 100) + printf("bandwidth %u%% ", bw->bw_percent); +@@ -224,6 +237,9 @@ print_queue(const struct pf_altq *a, unsigned int level, + case ALTQT_HFSC: + print_hfsc_opts(a, qopts); + break; ++ case ALTQT_FAIRQ: ++ print_fairq_opts(a, qopts); ++ break; + } + } + +@@ -294,6 +310,9 @@ check_commit_altq(int dev, int opts) + case ALTQT_HFSC: + error = check_commit_hfsc(dev, opts, altq); + break; ++ case ALTQT_FAIRQ: ++ error = check_commit_fairq(dev, opts, altq); ++ break; + default: + break; + } +@@ -342,7 +361,8 @@ eval_pfqueue(struct pfctl *pf, struct pf_altq *pa, struct node_queue_bw *bw, + if (pa->qlimit == 0) + pa->qlimit = DEFAULT_QLIMIT; + +- if (pa->scheduler == ALTQT_CBQ || pa->scheduler == ALTQT_HFSC) { ++ if (pa->scheduler == ALTQT_CBQ || pa->scheduler == ALTQT_HFSC || ++ pa->scheduler == ALTQT_FAIRQ) { + pa->bandwidth = eval_bwspec(bw, + parent == NULL ? 0 : parent->bandwidth); + +@@ -388,6 +408,9 @@ eval_pfqueue(struct pfctl *pf, struct pf_altq *pa, struct node_queue_bw *bw, + case ALTQT_HFSC: + error = eval_pfqueue_hfsc(pf, pa); + break; ++ case ALTQT_FAIRQ: ++ error = eval_pfqueue_fairq(pf, pa); ++ break; + default: + break; + } +@@ -800,6 +823,85 @@ err_ret: + return (-1); + } + ++/* ++ * FAIRQ support functions ++ */ ++static int ++eval_pfqueue_fairq(struct pfctl *pf __unused, struct pf_altq *pa) ++{ ++ struct pf_altq *altq, *parent; ++ struct fairq_opts *opts; ++ struct service_curve sc; ++ ++ opts = &pa->pq_u.fairq_opts; ++ ++ if (pa->parent[0] == 0) { ++ /* root queue */ ++ opts->lssc_m1 = pa->ifbandwidth; ++ opts->lssc_m2 = pa->ifbandwidth; ++ opts->lssc_d = 0; ++ return (0); ++ } ++ ++ LIST_INIT(&lssc); ++ ++ /* if link_share is not specified, use bandwidth */ ++ if (opts->lssc_m2 == 0) ++ opts->lssc_m2 = pa->bandwidth; ++ ++ /* ++ * admission control: ++ * for the real-time service curve, the sum of the service curves ++ * should not exceed 80% of the interface bandwidth. 20% is reserved ++ * not to over-commit the actual interface bandwidth. ++ * for the link-sharing service curve, the sum of the child service ++ * curve should not exceed the parent service curve. ++ * for the upper-limit service curve, the assigned bandwidth should ++ * be smaller than the interface bandwidth, and the upper-limit should ++ * be larger than the real-time service curve when both are defined. ++ */ ++ parent = qname_to_pfaltq(pa->parent, pa->ifname); ++ if (parent == NULL) ++ errx(1, "parent %s not found for %s", pa->parent, pa->qname); ++ ++ TAILQ_FOREACH(altq, &altqs, entries) { ++ if (strncmp(altq->ifname, pa->ifname, IFNAMSIZ) != 0) ++ continue; ++ if (altq->qname[0] == 0) /* this is for interface */ ++ continue; ++ ++ if (strncmp(altq->parent, pa->parent, PF_QNAME_SIZE) != 0) ++ continue; ++ ++ /* if the class has a link-sharing service curve, add it. */ ++ if (opts->lssc_m2 != 0 && altq->pq_u.fairq_opts.lssc_m2 != 0) { ++ sc.m1 = altq->pq_u.fairq_opts.lssc_m1; ++ sc.d = altq->pq_u.fairq_opts.lssc_d; ++ sc.m2 = altq->pq_u.fairq_opts.lssc_m2; ++ gsc_add_sc(&lssc, &sc); ++ } ++ } ++ ++ /* check the link-sharing service curve. */ ++ if (opts->lssc_m2 != 0) { ++ sc.m1 = parent->pq_u.fairq_opts.lssc_m1; ++ sc.d = parent->pq_u.fairq_opts.lssc_d; ++ sc.m2 = parent->pq_u.fairq_opts.lssc_m2; ++ if (!is_gsc_under_sc(&lssc, &sc)) { ++ warnx("link-sharing sc exceeds parent's sc"); ++ goto err_ret; ++ } ++ } ++ ++ gsc_destroy(&lssc); ++ ++ return (0); ++ ++err_ret: ++ gsc_destroy(&lssc); ++ return (-1); ++} ++ + static int + check_commit_hfsc(int dev, int opts, struct pf_altq *pa) + { +@@ -840,6 +942,43 @@ check_commit_hfsc(int dev, int opts, struct pf_altq *pa) + } + + static int ++check_commit_fairq(int dev __unused, int opts __unused, struct pf_altq *pa) ++{ ++ struct pf_altq *altq, *def = NULL; ++ int default_class; ++ int error = 0; ++ ++ /* check if fairq has one default queue for this interface */ ++ default_class = 0; ++ TAILQ_FOREACH(altq, &altqs, entries) { ++ if (strncmp(altq->ifname, pa->ifname, IFNAMSIZ) != 0) ++ continue; ++ if (altq->qname[0] == 0) /* this is for interface */ ++ continue; ++ if (altq->pq_u.fairq_opts.flags & FARF_DEFAULTCLASS) { ++ default_class++; ++ def = altq; ++ } ++ } ++ if (default_class != 1) { ++ warnx("should have one default queue on %s", pa->ifname); ++ return (1); ++ } ++ /* make sure the default queue is a leaf */ ++ TAILQ_FOREACH(altq, &altqs, entries) { ++ if (strncmp(altq->ifname, pa->ifname, IFNAMSIZ) != 0) ++ continue; ++ if (altq->qname[0] == 0) /* this is for interface */ ++ continue; ++ if (strncmp(altq->parent, def->qname, PF_QNAME_SIZE) == 0) { ++ warnx("default queue is not a leaf"); ++ error++; ++ } ++ } ++ return (error); ++} ++ ++static int + print_hfsc_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) + { + const struct hfsc_opts *opts; +@@ -885,6 +1024,43 @@ print_hfsc_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) + return (0); + } + ++static int ++print_fairq_opts(const struct pf_altq *a, const struct node_queue_opt *qopts) ++{ ++ const struct fairq_opts *opts; ++ const struct node_fairq_sc *loc_lssc; ++ ++ opts = &a->pq_u.fairq_opts; ++ if (qopts == NULL) ++ loc_lssc = NULL; ++ else ++ loc_lssc = &qopts->data.fairq_opts.linkshare; ++ ++ if (opts->flags || ++ (opts->lssc_m2 != 0 && (opts->lssc_m2 != a->bandwidth || ++ opts->lssc_d != 0))) { ++ printf("fairq("); ++ if (opts->flags & FARF_RED) ++ printf(" red"); ++ if (opts->flags & FARF_ECN) ++ printf(" ecn"); ++ if (opts->flags & FARF_RIO) ++ printf(" rio"); ++ if (opts->flags & FARF_CLEARDSCP) ++ printf(" cleardscp"); ++ if (opts->flags & FARF_DEFAULTCLASS) ++ printf(" default"); ++ if (opts->lssc_m2 != 0 && (opts->lssc_m2 != a->bandwidth || ++ opts->lssc_d != 0)) ++ print_fairq_sc("linkshare", opts->lssc_m1, opts->lssc_d, ++ opts->lssc_m2, loc_lssc); ++ printf(" ) "); ++ ++ return (1); ++ } else ++ return (0); ++} ++ + /* + * admission control using generalized service curve + */ +@@ -1204,6 +1380,23 @@ eval_queue_opts(struct pf_altq *pa, struct node_queue_opt *opts, + opts->data.hfsc_opts.upperlimit.d; + } + break; ++ case ALTQT_FAIRQ: ++ pa->pq_u.fairq_opts.flags = opts->data.fairq_opts.flags; ++ pa->pq_u.fairq_opts.nbuckets = opts->data.fairq_opts.nbuckets; ++ pa->pq_u.fairq_opts.hogs_m1 = ++ eval_bwspec(&opts->data.fairq_opts.hogs_bw, ref_bw); ++ ++ if (opts->data.fairq_opts.linkshare.used) { ++ pa->pq_u.fairq_opts.lssc_m1 = ++ eval_bwspec(&opts->data.fairq_opts.linkshare.m1, ++ ref_bw); ++ pa->pq_u.fairq_opts.lssc_m2 = ++ eval_bwspec(&opts->data.fairq_opts.linkshare.m2, ++ ref_bw); ++ pa->pq_u.fairq_opts.lssc_d = ++ opts->data.fairq_opts.linkshare.d; ++ } ++ break; + default: + warnx("eval_queue_opts: unknown scheduler type %u", + opts->qtype); +@@ -1249,3 +1442,27 @@ print_hfsc_sc(const char *scname, u_int m1, u_int d, u_int m2, + if (d != 0) + printf(")"); + } ++ ++void ++print_fairq_sc(const char *scname, u_int m1, u_int d, u_int m2, ++ const struct node_fairq_sc *sc) ++{ ++ printf(" %s", scname); ++ ++ if (d != 0) { ++ printf("("); ++ if (sc != NULL && sc->m1.bw_percent > 0) ++ printf("%u%%", sc->m1.bw_percent); ++ else ++ printf("%s", rate2str((double)m1)); ++ printf(" %u", d); ++ } ++ ++ if (sc != NULL && sc->m2.bw_percent > 0) ++ printf(" %u%%", sc->m2.bw_percent); ++ else ++ printf(" %s", rate2str((double)m2)); ++ ++ if (d != 0) ++ printf(")"); ++} +diff --git a/sbin/pfctl/pfctl_parser.h b/sbin/pfctl/pfctl_parser.h +index d2c44c2..7e4c414 100644 +--- a/sbin/pfctl/pfctl_parser.h ++++ b/sbin/pfctl/pfctl_parser.h +@@ -150,12 +150,27 @@ struct node_hfsc_opts { + int flags; + }; + ++struct node_fairq_sc { ++ struct node_queue_bw m1; /* slope of 1st segment; bps */ ++ u_int d; /* x-projection of m1; msec */ ++ struct node_queue_bw m2; /* slope of 2nd segment; bps */ ++ u_int8_t used; ++}; ++ ++struct node_fairq_opts { ++ struct node_fairq_sc linkshare; ++ struct node_queue_bw hogs_bw; ++ u_int nbuckets; ++ int flags; ++}; ++ + struct node_queue_opt { + int qtype; + union { + struct cbq_opts cbq_opts; + struct priq_opts priq_opts; + struct node_hfsc_opts hfsc_opts; ++ struct node_fairq_opts fairq_opts; + } data; + }; + +diff --git a/sbin/pfctl/pfctl_qstats.c b/sbin/pfctl/pfctl_qstats.c +index fe8b680..476c7b5 100644 +--- a/sbin/pfctl/pfctl_qstats.c ++++ b/sbin/pfctl/pfctl_qstats.c +@@ -38,6 +38,7 @@ __FBSDID("$FreeBSD: stable/10/sbin/pfctl/pfctl_qstats.c 240494 2012-09-14 11:51: + #include + #include + #include ++#include + + #include "pfctl.h" + #include "pfctl_parser.h" +@@ -46,6 +47,7 @@ union class_stats { + class_stats_t cbq_stats; + struct priq_classstats priq_stats; + struct hfsc_classstats hfsc_stats; ++ struct fairq_classstats fairq_stats; + }; + + #define AVGN_MAX 8 +@@ -77,6 +79,7 @@ void pfctl_print_altq_node(int, const struct pf_altq_node *, + void print_cbqstats(struct queue_stats); + void print_priqstats(struct queue_stats); + void print_hfscstats(struct queue_stats); ++void print_fairqstats(struct queue_stats); + void pfctl_free_altq_node(struct pf_altq_node *); + void pfctl_print_altq_nodestat(int, + const struct pf_altq_node *); +@@ -317,6 +320,9 @@ pfctl_print_altq_nodestat(int dev, const struct pf_altq_node *a) + case ALTQT_HFSC: + print_hfscstats(a->qstats); + break; ++ case ALTQT_FAIRQ: ++ print_fairqstats(a->qstats); ++ break; + } + } + +@@ -382,6 +388,26 @@ print_hfscstats(struct queue_stats cur) + } + + void ++print_fairqstats(struct queue_stats cur) ++{ ++ printf(" [ pkts: %10llu bytes: %10llu " ++ "dropped pkts: %6llu bytes: %6llu ]\n", ++ (unsigned long long)cur.data.fairq_stats.xmit_cnt.packets, ++ (unsigned long long)cur.data.fairq_stats.xmit_cnt.bytes, ++ (unsigned long long)cur.data.fairq_stats.drop_cnt.packets, ++ (unsigned long long)cur.data.fairq_stats.drop_cnt.bytes); ++ printf(" [ qlength: %3d/%3d ]\n", ++ cur.data.fairq_stats.qlength, cur.data.fairq_stats.qlimit); ++ ++ if (cur.avgn < 2) ++ return; ++ ++ printf(" [ measured: %7.1f packets/s, %s/s ]\n", ++ cur.avg_packets / STAT_INTERVAL, ++ rate2str((8 * cur.avg_bytes) / STAT_INTERVAL)); ++} ++ ++void + pfctl_free_altq_node(struct pf_altq_node *node) + { + while (node != NULL) { +@@ -421,6 +447,10 @@ update_avg(struct pf_altq_node *a) + b = qs->data.hfsc_stats.xmit_cnt.bytes; + p = qs->data.hfsc_stats.xmit_cnt.packets; + break; ++ case ALTQT_FAIRQ: ++ b = qs->data.fairq_stats.xmit_cnt.bytes; ++ p = qs->data.fairq_stats.xmit_cnt.packets; ++ break; + default: + b = 0; + p = 0; +diff --git a/sys/conf/NOTES b/sys/conf/NOTES +index 8e2e2b2..16485c9 100644 +--- a/sys/conf/NOTES ++++ b/sys/conf/NOTES +@@ -694,6 +694,7 @@ options ALTQ_CBQ # Class Based Queueing + options ALTQ_RED # Random Early Detection + options ALTQ_RIO # RED In/Out + options ALTQ_HFSC # Hierarchical Packet Scheduler ++options ALTQ_FAIRQ # Fair Packet Scheduler + options ALTQ_CDNR # Traffic conditioner + options ALTQ_PRIQ # Priority Queueing + options ALTQ_NOPCC # Required if the TSC is unusable +diff --git a/sys/conf/files b/sys/conf/files +index 6453a10..72ba137 100644 +--- a/sys/conf/files ++++ b/sys/conf/files +@@ -284,6 +284,7 @@ compat/freebsd32/freebsd32_sysent.c optional compat_freebsd32 + contrib/altq/altq/altq_cbq.c optional altq + contrib/altq/altq/altq_cdnr.c optional altq + contrib/altq/altq/altq_hfsc.c optional altq ++contrib/altq/altq/altq_fairq.c optional altq + contrib/altq/altq/altq_priq.c optional altq + contrib/altq/altq/altq_red.c optional altq + contrib/altq/altq/altq_rio.c optional altq +diff --git a/sys/conf/options b/sys/conf/options +index 7030a17..0fa3758 100644 +--- a/sys/conf/options ++++ b/sys/conf/options +@@ -379,6 +379,7 @@ ALTQ_CBQ opt_altq.h + ALTQ_CDNR opt_altq.h + ALTQ_DEBUG opt_altq.h + ALTQ_HFSC opt_altq.h ++ALTQ_FAIRQ opt_altq.h + ALTQ_NOPCC opt_altq.h + ALTQ_PRIQ opt_altq.h + ALTQ_RED opt_altq.h +diff --git a/sys/contrib/altq/altq/altq.h b/sys/contrib/altq/altq/altq.h +index b3b56e5..fd15b01 100644 +--- a/sys/contrib/altq/altq/altq.h ++++ b/sys/contrib/altq/altq/altq.h +@@ -63,7 +63,8 @@ + #define ALTQT_BLUE 10 /* blue */ + #define ALTQT_PRIQ 11 /* priority queue */ + #define ALTQT_JOBS 12 /* JoBS */ +-#define ALTQT_MAX 13 /* should be max discipline type + 1 */ ++#define ALTQT_FAIRQ 13 /* fairq */ ++#define ALTQT_MAX 14 /* should be max discipline type + 1 */ + + #ifdef ALTQ3_COMPAT + struct altqreq { +diff --git a/sys/contrib/altq/altq/altq_fairq.c b/sys/contrib/altq/altq/altq_fairq.c +new file mode 100644 +index 0000000..2267bfd +--- /dev/null ++++ b/sys/contrib/altq/altq/altq_fairq.c +@@ -0,0 +1,905 @@ ++/* ++ * Copyright (c) 2008 The DragonFly Project. All rights reserved. ++ * ++ * This code is derived from software contributed to The DragonFly Project ++ * by Matthew Dillon ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * 3. Neither the name of The DragonFly Project nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific, prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * $DragonFly: src/sys/net/altq/altq_fairq.c,v 1.1 2008/04/06 18:58:15 dillon Exp $ ++ */ ++/* ++ * Matt: I gutted altq_priq.c and used it as a skeleton on which to build ++ * fairq. The fairq algorithm is completely different then priq, of course, ++ * but because I used priq's skeleton I believe I should include priq's ++ * copyright. ++ * ++ * Copyright (C) 2000-2003 ++ * Sony Computer Science Laboratories Inc. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++/* ++ * FAIRQ - take traffic classified by keep state (hashed into ++ * mbuf->m_pkthdr.altq_state_hash) and bucketize it. Fairly extract ++ * the first packet from each bucket in a round-robin fashion. ++ * ++ * TODO - better overall qlimit support (right now it is per-bucket). ++ * - NOTE: red etc is per bucket, not overall. ++ * - better service curve support. ++ * ++ * EXAMPLE: ++ * ++ * altq on em0 fairq bandwidth 650Kb queue { std, bulk } ++ * queue std priority 3 bandwidth 400Kb \ ++ * fairq (buckets 64, default, hogs 1Kb) qlimit 50 ++ * queue bulk priority 2 bandwidth 100Kb \ ++ * fairq (buckets 64, hogs 1Kb) qlimit 50 ++ * ++ * pass out on em0 from any to any keep state queue std ++ * pass out on em0 inet proto tcp ..... port ... keep state queue bulk ++ */ ++#include "opt_altq.h" ++#include "opt_inet.h" ++#include "opt_inet6.h" ++ ++#ifdef ALTQ_FAIRQ /* fairq is enabled in the kernel conf */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include ++#include ++#include ++ ++/* ++ * function prototypes ++ */ ++static int fairq_clear_interface(struct fairq_if *); ++static int fairq_request(struct ifaltq *, int, void *); ++static void fairq_purge(struct fairq_if *); ++static struct fairq_class *fairq_class_create(struct fairq_if *, int, int, u_int, struct fairq_opts *, int); ++static int fairq_class_destroy(struct fairq_class *); ++static int fairq_enqueue(struct ifaltq *, struct mbuf *, struct altq_pktattr *); ++static struct mbuf *fairq_dequeue(struct ifaltq *, int); ++ ++static int fairq_addq(struct fairq_class *, struct mbuf *, u_int32_t); ++static struct mbuf *fairq_getq(struct fairq_class *, uint64_t); ++static struct mbuf *fairq_pollq(struct fairq_class *, uint64_t, int *); ++static fairq_bucket_t *fairq_selectq(struct fairq_class *, int); ++static void fairq_purgeq(struct fairq_class *); ++ ++static void get_class_stats(struct fairq_classstats *, struct fairq_class *); ++static struct fairq_class *clh_to_clp(struct fairq_if *, uint32_t); ++ ++int ++fairq_pfattach(struct pf_altq *a) ++{ ++ struct ifnet *ifp; ++ int error; ++ ++ if ((ifp = ifunit(a->ifname)) == NULL || a->altq_disc == NULL) ++ return (EINVAL); ++ ++ error = altq_attach(&ifp->if_snd, ALTQT_FAIRQ, a->altq_disc, ++ fairq_enqueue, fairq_dequeue, fairq_request, NULL, NULL); ++ ++ return (error); ++} ++ ++int ++fairq_add_altq(struct pf_altq *a) ++{ ++ struct fairq_if *pif; ++ struct ifnet *ifp; ++ ++ if ((ifp = ifunit(a->ifname)) == NULL) ++ return (EINVAL); ++ if (!ALTQ_IS_READY(&ifp->if_snd)) ++ return (ENODEV); ++ ++ ++ MALLOC(pif, struct fairq_if *, sizeof(struct fairq_if), ++ M_DEVBUF, M_WAITOK); ++ if (pif == NULL) ++ return (ENOMEM); ++ bzero(pif, sizeof(struct fairq_if)); ++ pif->pif_bandwidth = a->ifbandwidth; ++ pif->pif_maxpri = -1; ++ pif->pif_ifq = &ifp->if_snd; ++ ++ /* keep the state in pf_altq */ ++ a->altq_disc = pif; ++ ++ return (0); ++} ++ ++int ++fairq_remove_altq(struct pf_altq *a) ++{ ++ struct fairq_if *pif; ++ ++ if ((pif = a->altq_disc) == NULL) ++ return (EINVAL); ++ a->altq_disc = NULL; ++ ++ fairq_clear_interface(pif); ++ ++ FREE(pif, M_DEVBUF); ++ return (0); ++} ++ ++int ++fairq_add_queue(struct pf_altq *a) ++{ ++ struct fairq_if *pif; ++ struct fairq_class *cl; ++ ++ if ((pif = a->altq_disc) == NULL) ++ return (EINVAL); ++ ++ /* check parameters */ ++ if (a->priority >= FAIRQ_MAXPRI) ++ return (EINVAL); ++ if (a->qid == 0) ++ return (EINVAL); ++ if (pif->pif_classes[a->priority] != NULL) ++ return (EBUSY); ++ if (clh_to_clp(pif, a->qid) != NULL) ++ return (EBUSY); ++ ++ cl = fairq_class_create(pif, a->priority, a->qlimit, a->bandwidth, ++ &a->pq_u.fairq_opts, a->qid); ++ if (cl == NULL) ++ return (ENOMEM); ++ ++ return (0); ++} ++ ++int ++fairq_remove_queue(struct pf_altq *a) ++{ ++ struct fairq_if *pif; ++ struct fairq_class *cl; ++ ++ if ((pif = a->altq_disc) == NULL) ++ return (EINVAL); ++ ++ if ((cl = clh_to_clp(pif, a->qid)) == NULL) ++ return (EINVAL); ++ ++ return (fairq_class_destroy(cl)); ++} ++ ++int ++fairq_getqstats(struct pf_altq *a, void *ubuf, int *nbytes) ++{ ++ struct fairq_if *pif; ++ struct fairq_class *cl; ++ struct fairq_classstats stats; ++ int error = 0; ++ ++ if ((pif = altq_lookup(a->ifname, ALTQT_FAIRQ)) == NULL) ++ return (EBADF); ++ ++ if ((cl = clh_to_clp(pif, a->qid)) == NULL) ++ return (EINVAL); ++ ++ if (*nbytes < sizeof(stats)) ++ return (EINVAL); ++ ++ get_class_stats(&stats, cl); ++ ++ if ((error = copyout((caddr_t)&stats, ubuf, sizeof(stats))) != 0) ++ return (error); ++ *nbytes = sizeof(stats); ++ return (0); ++} ++ ++/* ++ * bring the interface back to the initial state by discarding ++ * all the filters and classes. ++ */ ++static int ++fairq_clear_interface(struct fairq_if *pif) ++{ ++ struct fairq_class *cl; ++ int pri; ++ ++ /* clear out the classes */ ++ for (pri = 0; pri <= pif->pif_maxpri; pri++) { ++ if ((cl = pif->pif_classes[pri]) != NULL) ++ fairq_class_destroy(cl); ++ } ++ ++ return (0); ++} ++ ++static int ++fairq_request(struct ifaltq *ifq, int req, void *arg) ++{ ++ struct fairq_if *pif = (struct fairq_if *)ifq->altq_disc; ++ ++ IFQ_LOCK_ASSERT(ifq); ++ ++ switch (req) { ++ case ALTRQ_PURGE: ++ fairq_purge(pif); ++ break; ++ } ++ return (0); ++} ++ ++/* discard all the queued packets on the interface */ ++static void ++fairq_purge(struct fairq_if *pif) ++{ ++ struct fairq_class *cl; ++ int pri; ++ ++ for (pri = 0; pri <= pif->pif_maxpri; pri++) { ++ if ((cl = pif->pif_classes[pri]) != NULL && cl->cl_head) ++ fairq_purgeq(cl); ++ } ++ if (ALTQ_IS_ENABLED(pif->pif_ifq)) ++ pif->pif_ifq->ifq_len = 0; ++} ++ ++static struct fairq_class * ++fairq_class_create(struct fairq_if *pif, int pri, int qlimit, ++ u_int bandwidth, struct fairq_opts *opts, int qid) ++{ ++ struct fairq_class *cl; ++ int flags = opts->flags; ++ u_int nbuckets = opts->nbuckets; ++ int i, s; ++ ++#ifndef ALTQ_RED ++ if (flags & FARF_RED) { ++#ifdef ALTQ_DEBUG ++ printf("fairq_class_create: RED not configured for FAIRQ!\n"); ++#endif ++ return (NULL); ++ } ++#endif ++ if (nbuckets == 0) ++ nbuckets = 256; ++ if (nbuckets > FAIRQ_MAX_BUCKETS) ++ nbuckets = FAIRQ_MAX_BUCKETS; ++ /* enforce power-of-2 size */ ++ while ((nbuckets ^ (nbuckets - 1)) != ((nbuckets << 1) - 1)) ++ ++nbuckets; ++ ++ if ((cl = pif->pif_classes[pri]) != NULL) { ++ /* modify the class instead of creating a new one */ ++ s = splimp(); ++ IFQ_LOCK(cl->cl_pif->pif_ifq); ++ if (cl->cl_head) ++ fairq_purgeq(cl); ++ IFQ_UNLOCK(cl->cl_pif->pif_ifq); ++ splx(s); ++#ifdef ALTQ_RIO ++ if (cl->cl_qtype == Q_RIO) ++ rio_destroy((rio_t *)cl->cl_red); ++#endif ++#ifdef ALTQ_RED ++ if (cl->cl_qtype == Q_RED) ++ red_destroy(cl->cl_red); ++#endif ++ } else { ++ MALLOC(cl, struct fairq_class *, sizeof(struct fairq_class), ++ M_DEVBUF, M_WAITOK); ++ if (cl == NULL) ++ goto err_ret; ++ bzero(cl, sizeof(struct fairq_class)); ++ cl->cl_nbuckets = nbuckets; ++ cl->cl_nbucket_mask = nbuckets - 1; ++ ++ MALLOC(cl->cl_buckets, struct fairq_bucket *, ++ sizeof(struct fairq_bucket) * cl->cl_nbuckets, ++ M_DEVBUF, M_WAITOK); ++ if (cl->cl_buckets == NULL) ++ goto err_buckets; ++ bzero(cl->cl_buckets, sizeof(struct fairq_bucket) * ++ cl->cl_nbuckets); ++ cl->cl_head = NULL; ++ } ++ ++ pif->pif_classes[pri] = cl; ++ if (flags & FARF_DEFAULTCLASS) ++ pif->pif_default = cl; ++ if (qlimit == 0) ++ qlimit = 50; /* use default */ ++ cl->cl_qlimit = qlimit; ++ for (i = 0; i < cl->cl_nbuckets; ++i) { ++ qlimit(&cl->cl_buckets[i].queue) = qlimit; ++ } ++ cl->cl_bandwidth = bandwidth / 8; ++ cl->cl_qtype = Q_DROPTAIL; ++ cl->cl_flags = flags & FARF_USERFLAGS; ++ cl->cl_pri = pri; ++ if (pri > pif->pif_maxpri) ++ pif->pif_maxpri = pri; ++ cl->cl_pif = pif; ++ cl->cl_handle = qid; ++ cl->cl_hogs_m1 = opts->hogs_m1 / 8; ++ cl->cl_lssc_m1 = opts->lssc_m1 / 8; /* NOT YET USED */ ++ ++#ifdef ALTQ_RED ++ if (flags & (FARF_RED|FARF_RIO)) { ++ int red_flags, red_pkttime; ++ ++ red_flags = 0; ++ if (flags & FARF_ECN) ++ red_flags |= REDF_ECN; ++#ifdef ALTQ_RIO ++ if (flags & FARF_CLEARDSCP) ++ red_flags |= RIOF_CLEARDSCP; ++#endif ++ if (pif->pif_bandwidth < 8) ++ red_pkttime = 1000 * 1000 * 1000; /* 1 sec */ ++ else ++ red_pkttime = (int64_t)pif->pif_ifq->altq_ifp->if_mtu ++ * 1000 * 1000 * 1000 / (pif->pif_bandwidth / 8); ++#ifdef ALTQ_RIO ++ if (flags & FARF_RIO) { ++ cl->cl_red = (red_t *)rio_alloc(0, NULL, ++ red_flags, red_pkttime); ++ if (cl->cl_red != NULL) ++ cl->cl_qtype = Q_RIO; ++ } else ++#endif ++ if (flags & FARF_RED) { ++ cl->cl_red = red_alloc(0, 0, ++ cl->cl_qlimit * 10/100, ++ cl->cl_qlimit * 30/100, ++ red_flags, red_pkttime); ++ if (cl->cl_red != NULL) ++ cl->cl_qtype = Q_RED; ++ } ++ } ++#endif /* ALTQ_RED */ ++ ++ return (cl); ++ ++err_buckets: ++ if (cl->cl_buckets != NULL) ++ FREE(cl->cl_buckets, M_DEVBUF); ++err_ret: ++ if (cl->cl_red != NULL) { ++#ifdef ALTQ_RIO ++ if (cl->cl_qtype == Q_RIO) ++ rio_destroy((rio_t *)cl->cl_red); ++#endif ++#ifdef ALTQ_RED ++ if (cl->cl_qtype == Q_RED) ++ red_destroy(cl->cl_red); ++#endif ++ } ++ if (cl != NULL) ++ FREE(cl, M_DEVBUF); ++ return (NULL); ++} ++ ++static int ++fairq_class_destroy(struct fairq_class *cl) ++{ ++ struct fairq_if *pif; ++ int pri, s; ++ ++ s = splimp(); ++ IFQ_LOCK(cl->cl_pif->pif_ifq); ++ ++ if (cl->cl_head) ++ fairq_purgeq(cl); ++ ++ pif = cl->cl_pif; ++ pif->pif_classes[cl->cl_pri] = NULL; ++ if (pif->pif_poll_cache == cl) ++ pif->pif_poll_cache = NULL; ++ if (pif->pif_maxpri == cl->cl_pri) { ++ for (pri = cl->cl_pri; pri >= 0; pri--) ++ if (pif->pif_classes[pri] != NULL) { ++ pif->pif_maxpri = pri; ++ break; ++ } ++ if (pri < 0) ++ pif->pif_maxpri = -1; ++ } ++ IFQ_UNLOCK(cl->cl_pif->pif_ifq); ++ splx(s); ++ ++ if (cl->cl_red != NULL) { ++#ifdef ALTQ_RIO ++ if (cl->cl_qtype == Q_RIO) ++ rio_destroy((rio_t *)cl->cl_red); ++#endif ++#ifdef ALTQ_RED ++ if (cl->cl_qtype == Q_RED) ++ red_destroy(cl->cl_red); ++#endif ++ } ++ FREE(cl->cl_buckets, M_DEVBUF); ++ cl->cl_head = NULL; /* sanity */ ++ cl->cl_polled = NULL; /* sanity */ ++ cl->cl_buckets = NULL; /* sanity */ ++ FREE(cl, M_DEVBUF); ++ ++ return (0); ++} ++ ++/* ++ * fairq_enqueue is an enqueue function to be registered to ++ * (*altq_enqueue) in struct ifaltq. ++ */ ++static int ++fairq_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr) ++{ ++ struct fairq_if *pif = (struct fairq_if *)ifq->altq_disc; ++ struct fairq_class *cl = NULL; /* Make compiler happy */ ++ struct pf_mtag *t; ++ u_int32_t qid_hash = 0; ++ int len; ++ ++ IFQ_LOCK_ASSERT(ifq); ++ ++ /* grab class set by classifier */ ++ if ((m->m_flags & M_PKTHDR) == 0) { ++ /* should not happen */ ++ printf("altq: packet for %s does not have pkthdr\n", ++ ifq->altq_ifp->if_xname); ++ m_freem(m); ++ return (ENOBUFS); ++ } ++ ++ if ((t = pf_find_mtag(m)) != NULL) { ++ cl = clh_to_clp(pif, t->qid); ++ qid_hash = t->qid_hash; ++ } ++ if (cl == NULL) { ++ cl = pif->pif_default; ++ if (cl == NULL) { ++ m_freem(m); ++ return (ENOBUFS); ++ } ++ } ++ cl->cl_flags |= FARF_HAS_PACKETS; ++ cl->cl_pktattr = NULL; ++ len = m_pktlen(m); ++ if (fairq_addq(cl, m, qid_hash) != 0) { ++ /* drop occurred. mbuf was freed in fairq_addq. */ ++ PKTCNTR_ADD(&cl->cl_dropcnt, len); ++ return (ENOBUFS); ++ } ++ IFQ_INC_LEN(ifq); ++ ++ return (0); ++} ++ ++/* ++ * fairq_dequeue is a dequeue function to be registered to ++ * (*altq_dequeue) in struct ifaltq. ++ * ++ * note: ALTDQ_POLL returns the next packet without removing the packet ++ * from the queue. ALTDQ_REMOVE is a normal dequeue operation. ++ * ALTDQ_REMOVE must return the same packet if called immediately ++ * after ALTDQ_POLL. ++ */ ++static struct mbuf * ++fairq_dequeue(struct ifaltq *ifq, int op) ++{ ++ struct fairq_if *pif = (struct fairq_if *)ifq->altq_disc; ++ struct fairq_class *cl; ++ struct fairq_class *best_cl; ++ struct mbuf *best_m; ++ struct mbuf *m = NULL; ++ uint64_t cur_time = read_machclk(); ++ int pri; ++ int hit_limit; ++ ++ IFQ_LOCK_ASSERT(ifq); ++ ++ if (IFQ_IS_EMPTY(ifq)) { ++ return (NULL); ++ } ++ ++ if (pif->pif_poll_cache && op == ALTDQ_REMOVE) { ++ best_cl = pif->pif_poll_cache; ++ m = fairq_getq(best_cl, cur_time); ++ pif->pif_poll_cache = NULL; ++ if (m) { ++ IFQ_DEC_LEN(ifq); ++ PKTCNTR_ADD(&best_cl->cl_xmitcnt, m_pktlen(m)); ++ return (m); ++ } ++ } else { ++ best_cl = NULL; ++ best_m = NULL; ++ ++ for (pri = pif->pif_maxpri; pri >= 0; pri--) { ++ if ((cl = pif->pif_classes[pri]) == NULL) ++ continue; ++ if ((cl->cl_flags & FARF_HAS_PACKETS) == 0) ++ continue; ++ m = fairq_pollq(cl, cur_time, &hit_limit); ++ if (m == NULL) { ++ cl->cl_flags &= ~FARF_HAS_PACKETS; ++ continue; ++ } ++ ++ /* ++ * Only override the best choice if we are under ++ * the BW limit. ++ */ ++ if (hit_limit == 0 || best_cl == NULL) { ++ best_cl = cl; ++ best_m = m; ++ } ++ ++ /* ++ * Remember the highest priority mbuf in case we ++ * do not find any lower priority mbufs. ++ */ ++ if (hit_limit) ++ continue; ++ break; ++ } ++ if (op == ALTDQ_POLL) { ++ pif->pif_poll_cache = best_cl; ++ m = best_m; ++ } else if (best_cl) { ++ m = fairq_getq(best_cl, cur_time); ++ if (m != NULL) { ++ IFQ_DEC_LEN(ifq); ++ PKTCNTR_ADD(&best_cl->cl_xmitcnt, m_pktlen(m)); ++ } ++ } ++ return (m); ++ } ++ return (NULL); ++} ++ ++static int ++fairq_addq(struct fairq_class *cl, struct mbuf *m, u_int32_t bucketid) ++{ ++ fairq_bucket_t *b; ++ u_int hindex; ++ uint64_t bw; ++ ++ /* ++ * If the packet doesn't have any keep state put it on the end of ++ * our queue. XXX this can result in out of order delivery. ++ */ ++ if (bucketid == 0) { ++ if (cl->cl_head) ++ b = cl->cl_head->prev; ++ else ++ b = &cl->cl_buckets[0]; ++ } else { ++ hindex = bucketid & cl->cl_nbucket_mask; ++ b = &cl->cl_buckets[hindex]; ++ } ++ ++ /* ++ * Add the bucket to the end of the circular list of active buckets. ++ * ++ * As a special case we add the bucket to the beginning of the list ++ * instead of the end if it was not previously on the list and if ++ * its traffic is less then the hog level. ++ */ ++ if (b->in_use == 0) { ++ b->in_use = 1; ++ if (cl->cl_head == NULL) { ++ cl->cl_head = b; ++ b->next = b; ++ b->prev = b; ++ } else { ++ b->next = cl->cl_head; ++ b->prev = cl->cl_head->prev; ++ b->prev->next = b; ++ b->next->prev = b; ++ ++ if (b->bw_delta && cl->cl_hogs_m1) { ++ bw = b->bw_bytes * machclk_freq / b->bw_delta; ++ if (bw < cl->cl_hogs_m1) ++ cl->cl_head = b; ++ } ++ } ++ } ++ ++#ifdef ALTQ_RIO ++ if (cl->cl_qtype == Q_RIO) ++ return rio_addq((rio_t *)cl->cl_red, &b->queue, m, cl->cl_pktattr); ++#endif ++#ifdef ALTQ_RED ++ if (cl->cl_qtype == Q_RED) ++ return red_addq(cl->cl_red, &b->queue, m, cl->cl_pktattr); ++#endif ++ if (qlen(&b->queue) >= qlimit(&b->queue)) { ++ m_freem(m); ++ return (-1); ++ } ++ ++ if (cl->cl_flags & FARF_CLEARDSCP) ++ write_dsfield(m, cl->cl_pktattr, 0); ++ ++ _addq(&b->queue, m); ++ ++ return (0); ++} ++ ++static struct mbuf * ++fairq_getq(struct fairq_class *cl, uint64_t cur_time) ++{ ++ fairq_bucket_t *b; ++ struct mbuf *m; ++ ++ b = fairq_selectq(cl, 0); ++ if (b == NULL) ++ m = NULL; ++#ifdef ALTQ_RIO ++ else if (cl->cl_qtype == Q_RIO) ++ m = rio_getq((rio_t *)cl->cl_red, &b->queue); ++#endif ++#ifdef ALTQ_RED ++ else if (cl->cl_qtype == Q_RED) ++ m = red_getq(cl->cl_red, &b->queue); ++#endif ++ else ++ m = _getq(&b->queue); ++ ++ /* ++ * Calculate the BW change ++ */ ++ if (m != NULL) { ++ uint64_t delta; ++ ++ /* ++ * Per-class bandwidth calculation ++ */ ++ delta = (cur_time - cl->cl_last_time); ++ if (delta > machclk_freq * 8) ++ delta = machclk_freq * 8; ++ cl->cl_bw_delta += delta; ++ cl->cl_bw_bytes += m->m_pkthdr.len; ++ cl->cl_last_time = cur_time; ++ cl->cl_bw_delta -= cl->cl_bw_delta >> 3; ++ cl->cl_bw_bytes -= cl->cl_bw_bytes >> 3; ++ ++ /* ++ * Per-bucket bandwidth calculation ++ */ ++ delta = (cur_time - b->last_time); ++ if (delta > machclk_freq * 8) ++ delta = machclk_freq * 8; ++ b->bw_delta += delta; ++ b->bw_bytes += m->m_pkthdr.len; ++ b->last_time = cur_time; ++ b->bw_delta -= b->bw_delta >> 3; ++ b->bw_bytes -= b->bw_bytes >> 3; ++ } ++ return(m); ++} ++ ++/* ++ * Figure out what the next packet would be if there were no limits. If ++ * this class hits its bandwidth limit *hit_limit is set to no-zero, otherwise ++ * it is set to 0. A non-NULL mbuf is returned either way. ++ */ ++static struct mbuf * ++fairq_pollq(struct fairq_class *cl, uint64_t cur_time, int *hit_limit) ++{ ++ fairq_bucket_t *b; ++ struct mbuf *m; ++ uint64_t delta; ++ uint64_t bw; ++ ++ *hit_limit = 0; ++ b = fairq_selectq(cl, 1); ++ if (b == NULL) ++ return(NULL); ++ m = qhead(&b->queue); ++ ++ /* ++ * Did this packet exceed the class bandwidth? Calculate the ++ * bandwidth component of the packet. ++ * ++ * - Calculate bytes per second ++ */ ++ delta = cur_time - cl->cl_last_time; ++ if (delta > machclk_freq * 8) ++ delta = machclk_freq * 8; ++ cl->cl_bw_delta += delta; ++ cl->cl_last_time = cur_time; ++ if (cl->cl_bw_delta) { ++ bw = cl->cl_bw_bytes * machclk_freq / cl->cl_bw_delta; ++ ++ if (bw > cl->cl_bandwidth) ++ *hit_limit = 1; ++#if 0 ++ printf("BW %6lld relative to %6u %d queue %p\n", ++ bw, cl->cl_bandwidth, *hit_limit, b); ++#endif ++ } ++ return(m); ++} ++ ++/* ++ * Locate the next queue we want to pull a packet out of. This code ++ * is also responsible for removing empty buckets from the circular list. ++ */ ++static ++fairq_bucket_t * ++fairq_selectq(struct fairq_class *cl, int ispoll) ++{ ++ fairq_bucket_t *b; ++ uint64_t bw; ++ ++ if (ispoll == 0 && cl->cl_polled) { ++ b = cl->cl_polled; ++ cl->cl_polled = NULL; ++ return(b); ++ } ++ ++ while ((b = cl->cl_head) != NULL) { ++ /* ++ * Remove empty queues from consideration ++ */ ++ if (qempty(&b->queue)) { ++ b->in_use = 0; ++ cl->cl_head = b->next; ++ if (cl->cl_head == b) { ++ cl->cl_head = NULL; ++ } else { ++ b->next->prev = b->prev; ++ b->prev->next = b->next; ++ } ++ continue; ++ } ++ ++ /* ++ * Advance the round robin. Queues with bandwidths less ++ * then the hog bandwidth are allowed to burst. ++ */ ++ if (cl->cl_hogs_m1 == 0) { ++ cl->cl_head = b->next; ++ } else if (b->bw_delta) { ++ bw = b->bw_bytes * machclk_freq / b->bw_delta; ++ if (bw >= cl->cl_hogs_m1) { ++ cl->cl_head = b->next; ++ } ++ /* ++ * XXX TODO - ++ */ ++ } ++ ++ /* ++ * Return bucket b. ++ */ ++ break; ++ } ++ if (ispoll) ++ cl->cl_polled = b; ++ return(b); ++} ++ ++static void ++fairq_purgeq(struct fairq_class *cl) ++{ ++ fairq_bucket_t *b; ++ struct mbuf *m; ++ ++ while ((b = fairq_selectq(cl, 0)) != NULL) { ++ while ((m = _getq(&b->queue)) != NULL) { ++ PKTCNTR_ADD(&cl->cl_dropcnt, m_pktlen(m)); ++ m_freem(m); ++ } ++ ASSERT(qlen(&b->queue) == 0); ++ } ++} ++ ++static void ++get_class_stats(struct fairq_classstats *sp, struct fairq_class *cl) ++{ ++ fairq_bucket_t *b; ++ ++ sp->class_handle = cl->cl_handle; ++ sp->qlimit = cl->cl_qlimit; ++ sp->xmit_cnt = cl->cl_xmitcnt; ++ sp->drop_cnt = cl->cl_dropcnt; ++ sp->qtype = cl->cl_qtype; ++ sp->qlength = 0; ++ ++ if (cl->cl_head) { ++ b = cl->cl_head; ++ do { ++ sp->qlength += qlen(&b->queue); ++ b = b->next; ++ } while (b != cl->cl_head); ++ } ++ ++#ifdef ALTQ_RED ++ if (cl->cl_qtype == Q_RED) ++ red_getstats(cl->cl_red, &sp->red[0]); ++#endif ++#ifdef ALTQ_RIO ++ if (cl->cl_qtype == Q_RIO) ++ rio_getstats((rio_t *)cl->cl_red, &sp->red[0]); ++#endif ++} ++ ++/* convert a class handle to the corresponding class pointer */ ++static struct fairq_class * ++clh_to_clp(struct fairq_if *pif, uint32_t chandle) ++{ ++ struct fairq_class *cl; ++ int idx; ++ ++ if (chandle == 0) ++ return (NULL); ++ ++ for (idx = pif->pif_maxpri; idx >= 0; idx--) ++ if ((cl = pif->pif_classes[idx]) != NULL && ++ cl->cl_handle == chandle) ++ return (cl); ++ ++ return (NULL); ++} ++ ++#endif /* ALTQ_FAIRQ */ +diff --git a/sys/contrib/altq/altq/altq_fairq.h b/sys/contrib/altq/altq/altq_fairq.h +new file mode 100644 +index 0000000..e4675e0 +--- /dev/null ++++ b/sys/contrib/altq/altq/altq_fairq.h +@@ -0,0 +1,136 @@ ++/* ++ * Copyright (c) 2008 The DragonFly Project. All rights reserved. ++ * ++ * This code is derived from software contributed to The DragonFly Project ++ * by Matthew Dillon ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * 3. Neither the name of The DragonFly Project nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific, prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * $DragonFly: src/sys/net/altq/altq_fairq.h,v 1.1 2008/04/06 18:58:15 dillon Exp $ ++ */ ++ ++#ifndef _ALTQ_ALTQ_FAIRQ_H_ ++#define _ALTQ_ALTQ_FAIRQ_H_ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define FAIRQ_MAX_BUCKETS 2048 /* maximum number of sorting buckets */ ++#define FAIRQ_MAXPRI RM_MAXPRIO ++#define FAIRQ_BITMAP_WIDTH (sizeof(fairq_bitmap_t)*8) ++#define FAIRQ_BITMAP_MASK (FAIRQ_BITMAP_WIDTH - 1) ++ ++/* fairq class flags */ ++#define FARF_RED 0x0001 /* use RED */ ++#define FARF_ECN 0x0002 /* use RED/ECN */ ++#define FARF_RIO 0x0004 /* use RIO */ ++#define FARF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ ++#define FARF_DEFAULTCLASS 0x1000 /* default class */ ++ ++#define FARF_HAS_PACKETS 0x2000 /* might have queued packets */ ++ ++#define FARF_USERFLAGS (FARF_RED|FARF_ECN|FARF_RIO|FARF_CLEARDSCP| \ ++ FARF_DEFAULTCLASS) ++ ++/* special class handles */ ++#define FAIRQ_NULLCLASS_HANDLE 0 ++ ++typedef u_int fairq_bitmap_t; ++ ++struct fairq_classstats { ++ uint32_t class_handle; ++ ++ u_int qlength; ++ u_int qlimit; ++ struct pktcntr xmit_cnt; /* transmitted packet counter */ ++ struct pktcntr drop_cnt; /* dropped packet counter */ ++ ++ /* red and rio related info */ ++ int qtype; ++ struct redstats red[3]; /* rio has 3 red stats */ ++}; ++ ++#ifdef _KERNEL ++ ++typedef struct fairq_bucket { ++ struct fairq_bucket *next; /* circular list */ ++ struct fairq_bucket *prev; /* circular list */ ++ class_queue_t queue; /* the actual queue */ ++ uint64_t bw_bytes; /* statistics used to calculate bw */ ++ uint64_t bw_delta; /* statistics used to calculate bw */ ++ uint64_t last_time; ++ int in_use; ++} fairq_bucket_t; ++ ++struct fairq_class { ++ uint32_t cl_handle; /* class handle */ ++ u_int cl_nbuckets; /* (power of 2) */ ++ u_int cl_nbucket_mask; /* bucket mask */ ++ fairq_bucket_t *cl_buckets; ++ fairq_bucket_t *cl_head; /* head of circular bucket list */ ++ fairq_bucket_t *cl_polled; ++ struct red *cl_red; /* RED state */ ++ u_int cl_hogs_m1; ++ u_int cl_lssc_m1; ++ u_int cl_bandwidth; ++ uint64_t cl_bw_bytes; ++ uint64_t cl_bw_delta; ++ uint64_t cl_last_time; ++ int cl_qtype; /* rollup */ ++ int cl_qlimit; ++ int cl_pri; /* priority */ ++ int cl_flags; /* class flags */ ++ struct fairq_if *cl_pif; /* back pointer to pif */ ++ struct altq_pktattr *cl_pktattr; /* saved header used by ECN */ ++ ++ /* round robin index */ ++ ++ /* statistics */ ++ struct pktcntr cl_xmitcnt; /* transmitted packet counter */ ++ struct pktcntr cl_dropcnt; /* dropped packet counter */ ++}; ++ ++/* ++ * fairq interface state ++ */ ++struct fairq_if { ++ struct fairq_if *pif_next; /* interface state list */ ++ struct ifaltq *pif_ifq; /* backpointer to ifaltq */ ++ u_int pif_bandwidth; /* link bandwidth in bps */ ++ int pif_maxpri; /* max priority in use */ ++ struct fairq_class *pif_poll_cache;/* cached poll */ ++ struct fairq_class *pif_default; /* default class */ ++ struct fairq_class *pif_classes[FAIRQ_MAXPRI]; /* classes */ ++}; ++ ++#endif /* _KERNEL */ ++ ++#endif /* _ALTQ_ALTQ_FAIRQ_H_ */ +diff --git a/sys/contrib/altq/altq/altq_subr.c b/sys/contrib/altq/altq/altq_subr.c +index 07e6087..139698e 100644 +--- a/sys/contrib/altq/altq/altq_subr.c ++++ b/sys/contrib/altq/altq/altq_subr.c +@@ -535,6 +535,11 @@ altq_pfattach(struct pf_altq *a) + error = hfsc_pfattach(a); + break; + #endif ++#ifdef ALTQ_FAIRQ ++ case ALTQT_FAIRQ: ++ error = fairq_pfattach(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -610,6 +615,11 @@ altq_add(struct pf_altq *a) + error = hfsc_add_altq(a); + break; + #endif ++#ifdef ALTQ_FAIRQ ++ case ALTQT_FAIRQ: ++ error = fairq_add_altq(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -646,6 +656,11 @@ altq_remove(struct pf_altq *a) + error = hfsc_remove_altq(a); + break; + #endif ++#ifdef ALTQ_FAIRQ ++ case ALTQT_FAIRQ: ++ error = fairq_remove_altq(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -679,6 +694,11 @@ altq_add_queue(struct pf_altq *a) + error = hfsc_add_queue(a); + break; + #endif ++#ifdef ALTQ_FAIRQ ++ case ALTQT_FAIRQ: ++ error = fairq_add_queue(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -712,6 +732,11 @@ altq_remove_queue(struct pf_altq *a) + error = hfsc_remove_queue(a); + break; + #endif ++#ifdef ALTQ_FAIRQ ++ case ALTQT_FAIRQ: ++ error = fairq_remove_queue(a); ++ break; ++#endif + default: + error = ENXIO; + } +@@ -745,6 +770,11 @@ altq_getqstats(struct pf_altq *a, void *ubuf, int *nbytes) + error = hfsc_getqstats(a, ubuf, nbytes); + break; + #endif ++#ifdef ALTQ_FAIRQ ++ case ALTQT_FAIRQ: ++ error = fairq_getqstats(a, ubuf, nbytes); ++ break; ++#endif + default: + error = ENXIO; + } +diff --git a/sys/contrib/altq/altq/altq_var.h b/sys/contrib/altq/altq/altq_var.h +index 3950222..e30d2df 100644 +--- a/sys/contrib/altq/altq/altq_var.h ++++ b/sys/contrib/altq/altq/altq_var.h +@@ -257,5 +257,12 @@ int hfsc_add_queue(struct pf_altq *); + int hfsc_remove_queue(struct pf_altq *); + int hfsc_getqstats(struct pf_altq *, void *, int *); + ++int fairq_pfattach(struct pf_altq *); ++int fairq_add_altq(struct pf_altq *); ++int fairq_remove_altq(struct pf_altq *); ++int fairq_add_queue(struct pf_altq *); ++int fairq_remove_queue(struct pf_altq *); ++int fairq_getqstats(struct pf_altq *, void *, int *); ++ + #endif /* _KERNEL */ + #endif /* _ALTQ_ALTQ_VAR_H_ */ +diff --git a/sys/net/pf_mtag.h b/sys/net/pf_mtag.h +index 5d5d3ae..78a57c4 100644 +--- a/sys/net/pf_mtag.h ++++ b/sys/net/pf_mtag.h +@@ -43,9 +43,11 @@ + struct pf_mtag { + void *hdr; /* saved hdr pos in mbuf, for ECN */ + u_int32_t qid; /* queue id */ ++ u_int32_t qid_hash; /* queue hashid used by WFQ like algos */ + u_int16_t tag; /* tag id */ + u_int8_t flags; + u_int8_t routed; ++ u_int8_t af; /* for ECN */ + }; + + static __inline struct pf_mtag * +diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h +index 874818c..b9b2e6f 100644 +--- a/sys/net/pfvar.h ++++ b/sys/net/pfvar.h +@@ -1389,6 +1389,20 @@ struct hfsc_opts { + int flags; + }; + ++/* ++ * XXX this needs some work ++ */ ++struct fairq_opts { ++ u_int nbuckets; ++ u_int hogs_m1; ++ int flags; ++ ++ /* link sharing service curve */ ++ u_int lssc_m1; ++ u_int lssc_d; ++ u_int lssc_m2; ++}; ++ + struct pf_altq { + char ifname[IFNAMSIZ]; + +@@ -1415,6 +1429,7 @@ struct pf_altq { + struct cbq_opts cbq_opts; + struct priq_opts priq_opts; + struct hfsc_opts hfsc_opts; ++ struct fairq_opts fairq_opts; + } pq_u; + + u_int32_t qid; /* return value */ +diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c +index 1ef30a7..c11f224 100644 +--- a/sys/netpfil/pf/pf.c ++++ b/sys/netpfil/pf/pf.c +@@ -552,6 +552,21 @@ pf_hashsrc(struct pf_addr *addr, sa_family_t af) + return (h & V_pf_srchashmask); + } + ++#ifdef ALTQ ++/* XXX: revisit this with ALTQ_WFQ/dummynet */ ++static int ++pf_state_hash(struct pf_state *s) ++{ ++ u_int32_t hv = (intptr_t)s / sizeof(*s); ++ ++ hv ^= crc32(&s->src, sizeof(s->src)); ++ hv ^= crc32(&s->dst, sizeof(s->dst)); ++ if (hv == 0) ++ hv = 1; ++ return (hv); ++} ++#endif ++ + #ifdef INET6 + void + pf_addrcpy(struct pf_addr *dst, struct pf_addr *src, sa_family_t af) +@@ -6118,6 +6133,8 @@ done: + action = PF_DROP; + REASON_SET(&reason, PFRES_MEMORY); + } ++ if (s) ++ pd.pf_mtag->qid_hash = pf_state_hash(s); + if (pqid || (pd.tos & IPTOS_LOWDELAY)) + pd.pf_mtag->qid = r->pqid; + else +@@ -6605,6 +6622,8 @@ done: + action = PF_DROP; + REASON_SET(&reason, PFRES_MEMORY); + } ++ if (s) ++ pd.pf_mtag->qid_hash = pf_state_hash(s); + if (pd.tos & IPTOS_LOWDELAY) + pd.pf_mtag->qid = r->pqid; + else diff --git a/patches/RELENG_10_0/get_tag_altq_ids.RELENG_10.diff b/patches/RELENG_10_0/get_tag_altq_ids.RELENG_10.diff new file mode 100644 index 0000000..4a0efa2 --- /dev/null +++ b/patches/RELENG_10_0/get_tag_altq_ids.RELENG_10.diff @@ -0,0 +1,69 @@ +diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h +index 1c58f23..c4d6adc 100644 +--- a/sys/net/pfvar.h ++++ b/sys/net/pfvar.h +@@ -1570,6 +1570,8 @@ struct pfioc_trans { + #ifdef _KERNEL + #define PFR_FLAG_USERIOCTL 0x10000000 + #endif ++#define DIOCGETNAMEDALTQ _IOWR('D', 94, struct pfioc_ruleset) ++#define DIOCGETNAMEDTAG _IOR('D', 95, u_int32_t) + + struct pfioc_table { + struct pfr_table pfrio_table; +diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c +index 2b0f2cd..1317477 100644 +--- a/sys/netpfil/pf/pf_ioctl.c ++++ b/sys/netpfil/pf/pf_ioctl.c +@@ -981,6 +981,8 @@ pfioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags, struct thread *td + case DIOCCLRRULECTRS: + case DIOCGETLIMIT: + case DIOCGETALTQS: ++ case DIOCGETNAMEDALTQ: ++ case DIOCGETNAMEDTAG: + case DIOCGETALTQ: + case DIOCGETQSTATS: + case DIOCGETRULESETS: +@@ -1027,6 +1029,8 @@ pfioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags, struct thread *td + case DIOCGETTIMEOUT: + case DIOCGETLIMIT: + case DIOCGETALTQS: ++ case DIOCGETNAMEDALTQ: ++ case DIOCGETNAMEDTAG: + case DIOCGETALTQ: + case DIOCGETQSTATS: + case DIOCGETRULESETS: +@@ -2042,6 +2046,16 @@ DIOCGETSTATES_full: + break; + } + ++ case DIOCGETNAMEDALTQ: { ++ struct pfioc_ruleset *pa = (struct pfioc_ruleset *)addr; ++ ++ if (pa->name[0]) { ++ pa->nr = pf_qname2qid(pa->name); ++ pf_qid_unref(pa->nr); ++ } ++ break; ++ } ++ + case DIOCGETALTQS: { + struct pfioc_altq *pa = (struct pfioc_altq *)addr; + struct pf_altq *altq; +@@ -2127,6 +2141,16 @@ DIOCGETSTATES_full: + } + #endif /* ALTQ */ + ++ case DIOCGETNAMEDTAG: { ++ /* Little abuse. */ ++ struct pfioc_ruleset *pa = (struct pfioc_ruleset *)addr; ++ ++ if (pa->name[0]) ++ pa->nr = pf_tagname2tag(pa->name); ++ ++ break; ++ } ++ + case DIOCBEGINADDRS: { + struct pfioc_pooladdr *pp = (struct pfioc_pooladdr *)addr; + diff --git a/patches/RELENG_10_0/hfscconfig.RELENG_10.diff b/patches/RELENG_10_0/hfscconfig.RELENG_10.diff new file mode 100644 index 0000000..24c7947 --- /dev/null +++ b/patches/RELENG_10_0/hfscconfig.RELENG_10.diff @@ -0,0 +1,18 @@ +diff --git a/sbin/pfctl/pfctl_altq.c b/sbin/pfctl/pfctl_altq.c +index 40e11d5..6886974 100644 +--- a/sbin/pfctl/pfctl_altq.c ++++ b/sbin/pfctl/pfctl_altq.c +@@ -700,13 +700,6 @@ eval_pfqueue_hfsc(struct pfctl *pf, struct pf_altq *pa) + return (-1); + } + +- if ((opts->rtsc_m1 < opts->rtsc_m2 && opts->rtsc_m1 != 0) || +- (opts->lssc_m1 < opts->lssc_m2 && opts->lssc_m1 != 0) || +- (opts->ulsc_m1 < opts->ulsc_m2 && opts->ulsc_m1 != 0)) { +- warnx("m1 must be zero for convex curve: %s", pa->qname); +- return (-1); +- } +- + /* + * admission control: + * for the real-time service curve, the sum of the service curves diff --git a/patches/RELENG_10_0/if_bridge_gif_mtu.diff b/patches/RELENG_10_0/if_bridge_gif_mtu.diff new file mode 100644 index 0000000..10b807b --- /dev/null +++ b/patches/RELENG_10_0/if_bridge_gif_mtu.diff @@ -0,0 +1,29 @@ +diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c +index 572ee06..6e060f0 100644 +--- a/sys/net/if_bridge.c ++++ b/sys/net/if_bridge.c +@@ -815,6 +815,8 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) + } + BRIDGE_LOCK(sc); + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { ++ if (bif->bif_ifp->if_type == IFT_GIF) ++ continue; + if (bif->bif_ifp->if_mtu != ifr->ifr_mtu) { + log(LOG_NOTICE, "%s: invalid MTU: %lu(%s)" + " != %d\n", sc->sc_ifp->if_xname, +@@ -1103,6 +1105,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) + } + #endif + /* Allow the first Ethernet member to define the MTU */ ++ if (ifs->if_type != IFT_GIF) { + if (LIST_EMPTY(&sc->sc_iflist)) + sc->sc_ifp->if_mtu = ifs->if_mtu; + else if (sc->sc_ifp->if_mtu != ifs->if_mtu) { +@@ -1110,6 +1113,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) + ifs->if_mtu, ifs->if_xname, sc->sc_ifp->if_mtu); + return (EINVAL); + } ++ } + + bif = malloc(sizeof(*bif), M_DEVBUF, M_NOWAIT|M_ZERO); + if (bif == NULL) diff --git a/patches/RELENG_10_0/if_ethersubr.c.diff b/patches/RELENG_10_0/if_ethersubr.c.diff new file mode 100644 index 0000000..831099d --- /dev/null +++ b/patches/RELENG_10_0/if_ethersubr.c.diff @@ -0,0 +1,13 @@ +diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c +index 638b364..8a0a0f3 100644 +--- a/sys/net/if_ethersubr.c ++++ b/sys/net/if_ethersubr.c +@@ -924,8 +924,6 @@ ether_ifattach(struct ifnet *ifp, const u_int8_t *lla) + for (i = 0; i < ifp->if_addrlen; i++) + if (lla[i] != 0) + break; +- if (i != ifp->if_addrlen) +- if_printf(ifp, "Ethernet address: %6D\n", lla, ":"); + + uuid_ether_add(LLADDR(sdl)); + } diff --git a/patches/RELENG_10_0/if_pfsync.diff b/patches/RELENG_10_0/if_pfsync.diff new file mode 100644 index 0000000..1c229cf --- /dev/null +++ b/patches/RELENG_10_0/if_pfsync.diff @@ -0,0 +1,112 @@ +diff --git a/sbin/ifconfig/ifpfsync.c b/sbin/ifconfig/ifpfsync.c +index 222e2d5..69fa9f1 100644 +--- a/sbin/ifconfig/ifpfsync.c ++++ b/sbin/ifconfig/ifpfsync.c +@@ -203,7 +203,8 @@ pfsync_status(int s) + if (preq.pfsyncr_syncdev[0] != '\0' || + preq.pfsyncr_syncpeer.s_addr != INADDR_PFSYNC_GROUP) { + printf("maxupd: %d ", preq.pfsyncr_maxupdates); +- printf("defer: %s\n", preq.pfsyncr_defer ? "on" : "off"); ++ printf("defer: %s\n", (preq.pfsyncr_defer & PFSYNCF_DEFER) ? "on" : "off"); ++ printf("syncok: %d\n", (preq.pfsyncr_defer & PFSYNCF_OK) ? 1 : 0); + } + } + +diff --git a/sys/net/if_pfsync.h b/sys/net/if_pfsync.h +index fbb4d80..1a92f8c 100644 +--- a/sys/net/if_pfsync.h ++++ b/sys/net/if_pfsync.h +@@ -241,6 +241,9 @@ struct pfsyncreq { + char pfsyncr_syncdev[IFNAMSIZ]; + struct in_addr pfsyncr_syncpeer; + int pfsyncr_maxupdates; ++#define PFSYNCF_OK 0x00000001 ++#define PFSYNCF_DEFER 0x00000002 ++#define PFSYNCF_PUSH 0x00000004 + int pfsyncr_defer; + }; + +diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c +index dc9be1a..ca5c751 100644 +--- a/sys/netpfil/pf/if_pfsync.c ++++ b/sys/netpfil/pf/if_pfsync.c +@@ -185,9 +185,6 @@ struct pfsync_softc { + struct ip_moptions sc_imo; + struct in_addr sc_sync_peer; + uint32_t sc_flags; +-#define PFSYNCF_OK 0x00000001 +-#define PFSYNCF_DEFER 0x00000002 +-#define PFSYNCF_PUSH 0x00000004 + uint8_t sc_maxupdates; + struct ip sc_template; + struct callout sc_tmo; +@@ -1299,8 +1296,7 @@ pfsyncioctl(struct ifnet *ifp, u_long cmd, caddr_t data) + } + pfsyncr.pfsyncr_syncpeer = sc->sc_sync_peer; + pfsyncr.pfsyncr_maxupdates = sc->sc_maxupdates; +- pfsyncr.pfsyncr_defer = (PFSYNCF_DEFER == +- (sc->sc_flags & PFSYNCF_DEFER)); ++ pfsyncr.pfsyncr_defer = sc->sc_flags; + PFSYNC_UNLOCK(sc); + return (copyout(&pfsyncr, ifr->ifr_data, sizeof(pfsyncr))); + +@@ -1622,6 +1618,7 @@ pfsync_sendout(int schedswi) + sc->sc_ifp->if_obytes += m->m_pkthdr.len; + sc->sc_len = PFSYNC_MINPKT; + ++ /* XXX: SHould not drop voluntarily update packets! */ + if (!_IF_QFULL(&sc->sc_ifp->if_snd)) + _IF_ENQUEUE(&sc->sc_ifp->if_snd, m); + else { +@@ -1650,6 +1647,10 @@ pfsync_insert_state(struct pf_state *st) + ("%s: st->sync_state %u", __func__, st->sync_state)); + + PFSYNC_LOCK(sc); ++ if (sc == NULL || !(sc->sc_ifp->if_flags & IFF_DRV_RUNNING)) { ++ PFSYNC_UNLOCK(sc); ++ return; ++ } + if (sc->sc_len == PFSYNC_MINPKT) + callout_reset(&sc->sc_tmo, 1 * hz, pfsync_timeout, V_pfsyncif); + +@@ -1744,6 +1745,7 @@ pfsync_defer_tmo(void *arg) + free(pd, M_PFSYNC); + PFSYNC_UNLOCK(sc); + ++ m->m_flags |= M_SKIP_FIREWALL; + ip_output(m, NULL, NULL, 0, NULL, NULL); + + pf_release_state(st); +@@ -1779,6 +1781,10 @@ pfsync_update_state(struct pf_state *st) + PF_STATE_LOCK_ASSERT(st); + PFSYNC_LOCK(sc); + ++ if (sc == NULL || !(sc->sc_ifp->if_flags & IFF_DRV_RUNNING)) { ++ PFSYNC_UNLOCK(sc); ++ return; ++ } + if (st->state_flags & PFSTATE_ACK) + pfsync_undefer_state(st, 0); + if (st->state_flags & PFSTATE_NOSYNC) { +@@ -1904,6 +1910,10 @@ pfsync_delete_state(struct pf_state *st) + struct pfsync_softc *sc = V_pfsyncif; + + PFSYNC_LOCK(sc); ++ if (sc == NULL || !(sc->sc_ifp->if_flags & IFF_DRV_RUNNING)) { ++ PFSYNC_UNLOCK(sc); ++ return; ++ } + if (st->state_flags & PFSTATE_ACK) + pfsync_undefer_state(st, 1); + if (st->state_flags & PFSTATE_NOSYNC) { +@@ -1957,6 +1967,10 @@ pfsync_clear_states(u_int32_t creatorid, const char *ifname) + r.clr.creatorid = creatorid; + + PFSYNC_LOCK(sc); ++ if (sc == NULL || !(sc->sc_ifp->if_flags & IFF_DRV_RUNNING)) { ++ PFSYNC_UNLOCK(sc); ++ return; ++ } + pfsync_send_plus(&r, sizeof(r)); + PFSYNC_UNLOCK(sc); + } diff --git a/patches/RELENG_10_0/ifqueue_maxlen.diff b/patches/RELENG_10_0/ifqueue_maxlen.diff new file mode 100644 index 0000000..06bb76b --- /dev/null +++ b/patches/RELENG_10_0/ifqueue_maxlen.diff @@ -0,0 +1,13 @@ +diff --git a/sys/net/if.h b/sys/net/if.h +index ab98ec0..ad4d730 100644 +--- a/sys/net/if.h ++++ b/sys/net/if.h +@@ -241,7 +241,7 @@ struct if_data { + + #define IFCAP_CANTCHANGE (IFCAP_NETMAP) + +-#define IFQ_MAXLEN 50 ++#define IFQ_MAXLEN 128 + #define IFNET_SLOWHZ 1 /* granularity is 1 second */ + + /* diff --git a/patches/RELENG_10_0/ip_carp.c.diff b/patches/RELENG_10_0/ip_carp.c.diff new file mode 100644 index 0000000..f5c55e3 --- /dev/null +++ b/patches/RELENG_10_0/ip_carp.c.diff @@ -0,0 +1,15 @@ +diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c +index a170e34..0a3607e 100644 +--- a/sys/netinet/ip_carp.c ++++ b/sys/netinet/ip_carp.c +@@ -532,8 +532,8 @@ carp6_input(struct mbuf **mp, int *offp, int proto) + /* check if received on a valid carp interface */ + if (m->m_pkthdr.rcvif->if_carp == NULL) { + CARPSTATS_INC(carps_badif); +- CARP_DEBUG("%s: packet received on non-carp interface: %s\n", +- __func__, m->m_pkthdr.rcvif->if_xname); ++ //CARP_DEBUG("%s: packet received on non-carp interface: %s\n", ++ // __func__, m->m_pkthdr.rcvif->if_xname); + m_freem(m); + return (IPPROTO_DONE); + } diff --git a/patches/RELENG_10_0/ip_dstchng_fix.diff b/patches/RELENG_10_0/ip_dstchng_fix.diff new file mode 100644 index 0000000..9f04be3 --- /dev/null +++ b/patches/RELENG_10_0/ip_dstchng_fix.diff @@ -0,0 +1,14 @@ +diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c +index ae87d62..c226f7d 100644 +--- a/sys/netinet/ip_input.c ++++ b/sys/netinet/ip_input.c +@@ -536,8 +536,7 @@ tooshort: + goto ours; + } + if (m->m_flags & M_IP_NEXTHOP) { +- dchg = (m_tag_find(m, PACKET_TAG_IPFORWARD, NULL) != NULL); +- if (dchg != 0) { ++ if (m_tag_find(m, PACKET_TAG_IPFORWARD, NULL) != NULL) { + /* + * Directly ship the packet on. This allows + * forwarding packets originally destined to us diff --git a/patches/RELENG_10_0/ipfw_dummynet_bandwidth.diff b/patches/RELENG_10_0/ipfw_dummynet_bandwidth.diff new file mode 100644 index 0000000..b588b7e --- /dev/null +++ b/patches/RELENG_10_0/ipfw_dummynet_bandwidth.diff @@ -0,0 +1,26 @@ +diff --git a/sbin/ipfw/dummynet.c b/sbin/ipfw/dummynet.c +index 28dc2c7..c5b5253 100644 +--- a/sbin/ipfw/dummynet.c ++++ b/sbin/ipfw/dummynet.c +@@ -538,10 +538,10 @@ read_bandwidth(char *arg, int *bandwidth, char *if_name, int namelen) + if_name[namelen] = '\0'; + *bandwidth = 0; + } else { /* read bandwidth value */ +- int bw; ++ double bw; + char *end = NULL; + +- bw = strtoul(arg, &end, 0); ++ bw = strtod(arg, &end); + if (*end == 'K' || *end == 'k') { + end++; + bw *= 1000; +@@ -557,7 +557,7 @@ read_bandwidth(char *arg, int *bandwidth, char *if_name, int namelen) + if (bw < 0) + errx(EX_DATAERR, "bandwidth too large"); + +- *bandwidth = bw; ++ *bandwidth = (int)bw; + if (if_name) + if_name[0] = '\0'; + } diff --git a/patches/RELENG_10_0/ipsec_altq.RELENG_10.diff b/patches/RELENG_10_0/ipsec_altq.RELENG_10.diff new file mode 100644 index 0000000..0fe3e5b --- /dev/null +++ b/patches/RELENG_10_0/ipsec_altq.RELENG_10.diff @@ -0,0 +1,179 @@ +diff --git a/sys/net/if_enc.c b/sys/net/if_enc.c +index dcb82f5..f3c34ad 100644 +--- a/sys/net/if_enc.c ++++ b/sys/net/if_enc.c +@@ -52,6 +52,9 @@ + #include + #include + ++#include ++#include ++ + #include + #include + #include +@@ -225,10 +228,11 @@ enc_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) + } + + int +-ipsec_filter(struct mbuf **mp, int dir, int flags) ++ipsec_filter(struct mbuf **mp, struct secasindex *saidx, int dir, int flags) + { + int error, i; + struct ip *ip; ++ struct pf_mtag *atag; + + KASSERT(encif != NULL, ("%s: encif is null", __func__)); + KASSERT(flags & (ENC_IN|ENC_OUT), +@@ -297,6 +301,9 @@ ipsec_filter(struct mbuf **mp, int dir, int flags) + if (error != 0) + goto bad; + ++ if (saidx && (atag = pf_find_mtag(*mp)) != NULL) ++ saidx->qid = atag->qid; ++ + return (error); + + bad: +diff --git a/sys/netipsec/ipsec.h b/sys/netipsec/ipsec.h +index 240083a..836a040 100644 +--- a/sys/netipsec/ipsec.h ++++ b/sys/netipsec/ipsec.h +@@ -383,7 +383,7 @@ extern int m_striphdr(struct mbuf *m, int skip, int hlen); + #define ENC_AFTER 0x0002 + #define ENC_IN 0x0100 + #define ENC_OUT 0x0200 +-extern int ipsec_filter(struct mbuf **, int, int); ++extern int ipsec_filter(struct mbuf **, struct secasindex *, int, int); + extern void ipsec_bpf(struct mbuf *, struct secasvar *, int, int); + #endif + #endif /* _KERNEL */ +diff --git a/sys/netipsec/ipsec_input.c b/sys/netipsec/ipsec_input.c +index 23a4a5c..13313a7 100644 +--- a/sys/netipsec/ipsec_input.c ++++ b/sys/netipsec/ipsec_input.c +@@ -475,7 +475,8 @@ ipsec4_common_input_cb(struct mbuf *m, struct secasvar *sav, + ipsec_bpf(m, sav, AF_INET, ENC_IN|ENC_BEFORE); + + if (prot != IPPROTO_IPIP) +- if ((error = ipsec_filter(&m, PFIL_IN, ENC_IN|ENC_BEFORE)) != 0) ++ if ((error = ipsec_filter(&m, &sav->sah->saidx, PFIL_IN, ++ ENC_IN|ENC_BEFORE)) != 0) + return (error); + #endif + +@@ -729,7 +730,8 @@ ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip, int proto + + /* XXX-BZ does not make sense. */ + if (prot != IPPROTO_IPIP) +- if ((error = ipsec_filter(&m, PFIL_IN, ENC_IN|ENC_BEFORE)) != 0) ++ if ((error = ipsec_filter(&m, &sav->sah->saidx, PFIL_IN, ++ ENC_IN|ENC_BEFORE)) != 0) + return (error); + #endif + +diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c +index 19b27ec..5d5c2f6 100644 +--- a/sys/netipsec/ipsec_output.c ++++ b/sys/netipsec/ipsec_output.c +@@ -43,6 +43,11 @@ + #include + #include + ++#ifdef DEV_ENC ++#include ++#include ++#endif ++ + #include + #include + #include +@@ -99,6 +104,7 @@ ipsec_process_done(struct mbuf *m, struct ipsecrequest *isr) + struct m_tag *mtag; + struct secasvar *sav; + struct secasindex *saidx; ++ struct pf_mtag *atag = NULL; + int error; + + IPSEC_ASSERT(m != NULL, ("null mbuf")); +@@ -190,6 +196,14 @@ ipsec_process_done(struct mbuf *m, struct ipsecrequest *isr) + } + key_sa_recordxfer(sav, m); /* record data transfer */ + ++#ifdef DEV_ENC ++ if (saidx->qid && (atag = pf_find_mtag(m)) != NULL) { ++ atag->qid = saidx->qid; ++ /* add hints for ecn */ ++ atag->af = saidx->dst.sa.sa_family; ++ atag->hdr = NULL; /* This should be safe! */ ++ } ++#endif + /* + * We're done with IPsec processing, transmit the packet using the + * appropriate network protocol (IP or IPv6). SPD lookup will be +@@ -451,7 +465,8 @@ ipsec4_process_packet( + /* pass the mbuf to enc0 for bpf processing */ + ipsec_bpf(m, sav, AF_INET, ENC_OUT|ENC_BEFORE); + /* pass the mbuf to enc0 for packet filtering */ +- if ((error = ipsec_filter(&m, PFIL_OUT, ENC_OUT|ENC_BEFORE)) != 0) ++ if ((error = ipsec_filter(&m, &sav->sah->saidx, PFIL_OUT, ++ ENC_OUT|ENC_BEFORE)) != 0) + goto bad; + #endif + +@@ -556,7 +571,8 @@ ipsec4_process_packet( + /* pass the mbuf to enc0 for bpf processing */ + ipsec_bpf(m, sav, AF_INET, ENC_OUT|ENC_AFTER); + /* pass the mbuf to enc0 for packet filtering */ +- if ((error = ipsec_filter(&m, PFIL_OUT, ENC_OUT|ENC_AFTER)) != 0) ++ if ((error = ipsec_filter(&m, &sav->sah->saidx, PFIL_OUT, ++ ENC_OUT|ENC_AFTER)) != 0) + goto bad; + #endif + +@@ -814,7 +830,8 @@ ipsec6_output_tunnel(struct ipsec_output_state *state, struct secpolicy *sp, int + /* pass the mbuf to enc0 for bpf processing */ + ipsec_bpf(m, isr->sav, AF_INET6, ENC_OUT|ENC_BEFORE); + /* pass the mbuf to enc0 for packet filtering */ +- if ((error = ipsec_filter(&m, PFIL_OUT, ENC_OUT|ENC_BEFORE)) != 0) ++ if ((error = ipsec_filter(&m, &isr->sav->sah->saidx, PFIL_OUT, ++ ENC_OUT|ENC_BEFORE)) != 0) + goto bad; + #endif + +@@ -890,7 +907,8 @@ ipsec6_output_tunnel(struct ipsec_output_state *state, struct secpolicy *sp, int + /* pass the mbuf to enc0 for bpf processing */ + ipsec_bpf(m, isr->sav, AF_INET6, ENC_OUT|ENC_AFTER); + /* pass the mbuf to enc0 for packet filtering */ +- if ((error = ipsec_filter(&m, PFIL_OUT, ENC_OUT|ENC_AFTER)) != 0) ++ if ((error = ipsec_filter(&m, &isr->sav->sah->saidx, PFIL_OUT, ++ ENC_OUT|ENC_AFTER)) != 0) + goto bad; + #endif + +diff --git a/sys/netipsec/keydb.h b/sys/netipsec/keydb.h +index 7494f5f..f22230b 100644 +--- a/sys/netipsec/keydb.h ++++ b/sys/netipsec/keydb.h +@@ -58,6 +58,8 @@ struct secasindex { + u_int8_t mode; /* mode of protocol, see ipsec.h */ + u_int32_t reqid; /* reqid id who owned this SA */ + /* see IPSEC_MANUAL_REQID_MAX. */ ++ u_int32_t qid; /* used for ALTQ shaping inside */ ++ /* tunnel */ + }; + + /* +diff --git a/sys/netipsec/xform_ipip.c b/sys/netipsec/xform_ipip.c +index 1d2aff2..b630df4 100644 +--- a/sys/netipsec/xform_ipip.c ++++ b/sys/netipsec/xform_ipip.c +@@ -371,7 +371,7 @@ _ipip_input(struct mbuf *m, int iphlen, struct ifnet *gifp) + panic("%s: bogus ip version %u", __func__, v>>4); + } + /* pass the mbuf to enc0 for packet filtering */ +- if (ipsec_filter(&m, PFIL_IN, ENC_IN|ENC_AFTER) != 0) ++ if (ipsec_filter(&m, NULL, PFIL_IN, ENC_IN|ENC_AFTER) != 0) + return; + #endif + diff --git a/patches/RELENG_10_0/ipsec_improvement.diff b/patches/RELENG_10_0/ipsec_improvement.diff new file mode 100644 index 0000000..2c97681 --- /dev/null +++ b/patches/RELENG_10_0/ipsec_improvement.diff @@ -0,0 +1,607 @@ +diff --git a/sys/netinet/ip_ipsec.c b/sys/netinet/ip_ipsec.c +index 66dc91f..b449f52 100644 +--- a/sys/netinet/ip_ipsec.c ++++ b/sys/netinet/ip_ipsec.c +@@ -114,19 +114,11 @@ int + ip_ipsec_fwd(struct mbuf *m) + { + #ifdef IPSEC +- struct m_tag *mtag; +- struct tdb_ident *tdbi; + struct secpolicy *sp; + int error; + +- mtag = m_tag_find(m, PACKET_TAG_IPSEC_IN_DONE, NULL); +- if (mtag != NULL) { +- tdbi = (struct tdb_ident *)(mtag + 1); +- sp = ipsec_getpolicy(tdbi, IPSEC_DIR_INBOUND); +- } else { +- sp = ipsec_getpolicybyaddr(m, IPSEC_DIR_INBOUND, +- IP_FORWARDING, &error); +- } ++ sp = ipsec_getpolicybyaddr(m, IPSEC_DIR_INBOUND, ++ IP_FORWARDING, &error); + if (sp == NULL) { /* NB: can happen if error */ + /*XXX error stat???*/ + DPRINTF(("ip_input: no SP for forwarding\n")); /*XXX*/ +@@ -158,8 +150,6 @@ ip_ipsec_input(struct mbuf *m) + { + #ifdef IPSEC + struct ip *ip = mtod(m, struct ip *); +- struct m_tag *mtag; +- struct tdb_ident *tdbi; + struct secpolicy *sp; + int error; + /* +@@ -174,14 +164,8 @@ ip_ipsec_input(struct mbuf *m) + * set during AH, ESP, etc. input handling, before the + * packet is returned to the ip input queue for delivery. + */ +- mtag = m_tag_find(m, PACKET_TAG_IPSEC_IN_DONE, NULL); +- if (mtag != NULL) { +- tdbi = (struct tdb_ident *)(mtag + 1); +- sp = ipsec_getpolicy(tdbi, IPSEC_DIR_INBOUND); +- } else { +- sp = ipsec_getpolicybyaddr(m, IPSEC_DIR_INBOUND, +- IP_FORWARDING, &error); +- } ++ sp = ipsec_getpolicybyaddr(m, IPSEC_DIR_INBOUND, ++ IP_FORWARDING, &error); + if (sp != NULL) { + /* + * Check security policy against packet attributes. +diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c +index 40a398d..6a4c127 100644 +--- a/sys/netipsec/key.c ++++ b/sys/netipsec/key.c +@@ -140,6 +140,18 @@ static VNET_DEFINE(int, key_preferred_oldsa) = 1; + static VNET_DEFINE(u_int32_t, acq_seq) = 0; + #define V_acq_seq VNET(acq_seq) + ++ /* SPD cache */ ++struct secpolicycache { ++ struct secpolicy *policy; ++ struct secpolicyindex spidx; ++ u_int32_t genid; ++}; ++#define SPCACHESIZE 8192 ++static VNET_DEFINE(struct secpolicycache, spcache[2][SPCACHESIZE]); ++#define V_spcache VNET(spcache) ++static VNET_DEFINE(u_int32_t, spcache_genid) = 0; ++#define V_spcache_genid VNET(spcache_genid) ++ + /* SPD */ + static VNET_DEFINE(LIST_HEAD(_sptree, secpolicy), sptree[IPSEC_DIR_MAX]); + #define V_sptree VNET(sptree) +@@ -152,8 +164,13 @@ static struct mtx sptree_lock; + #define SPTREE_UNLOCK() mtx_unlock(&sptree_lock) + #define SPTREE_LOCK_ASSERT() mtx_assert(&sptree_lock, MA_OWNED) + ++#define SPIHASHSIZE 1024 ++#define SPIHASH(x) (((x) + ((x) >> 16)) % SPIHASHSIZE) ++ + static VNET_DEFINE(LIST_HEAD(_sahtree, secashead), sahtree); /* SAD */ + #define V_sahtree VNET(sahtree) ++static VNET_DEFINE(LIST_HEAD(_spihash, secasvar), spihash[SPIHASHSIZE]); ++#define V_spihash VNET(spihash) + static struct mtx sahtree_lock; + #define SAHTREE_LOCK_INIT() \ + mtx_init(&sahtree_lock, "sahtree", \ +@@ -330,6 +347,8 @@ SYSCTL_VNET_INT(_net_key, KEYCTL_PREFERED_OLDSA, + + #define __LIST_CHAINED(elm) \ + (!((elm)->chain.le_next == NULL && (elm)->chain.le_prev == NULL)) ++#define __LIST_SPIHASHED(elm) \ ++ (!((elm)->spihash.le_next == NULL && (elm)->spihash.le_prev == NULL)) + #define LIST_INSERT_TAIL(head, elm, type, field) \ + do {\ + struct type *curelm = LIST_FIRST(head); \ +@@ -438,11 +457,11 @@ static u_int key_getspreqmsglen __P((struct secpolicy *)); + static int key_spdexpire __P((struct secpolicy *)); + static struct secashead *key_newsah __P((struct secasindex *)); + static void key_delsah __P((struct secashead *)); +-static struct secasvar *key_newsav __P((struct mbuf *, ++static struct secasvar *key_newsav __P((u_int32_t, struct mbuf *, + const struct sadb_msghdr *, struct secashead *, int *, + const char*, int)); +-#define KEY_NEWSAV(m, sadb, sah, e) \ +- key_newsav(m, sadb, sah, e, __FILE__, __LINE__) ++#define KEY_NEWSAV(spi, m, sadb, sah, e) \ ++ key_newsav(spi, m, sadb, sah, e, __FILE__, __LINE__) + static void key_delsav __P((struct secasvar *)); + static struct secashead *key_getsah __P((struct secasindex *)); + static struct secasvar *key_checkspidup __P((struct secasindex *, u_int32_t)); +@@ -610,15 +629,11 @@ key_havesp(u_int dir) + * OUT: NULL: not found + * others: found and return the pointer. + */ +-struct secpolicy * +-key_allocsp(struct secpolicyindex *spidx, u_int dir, const char* where, int tag) ++static struct secpolicy * ++key_allocsp_slow(struct secpolicyindex *spidx, u_int dir, const char* where, int tag) + { + struct secpolicy *sp; + +- IPSEC_ASSERT(spidx != NULL, ("null spidx")); +- IPSEC_ASSERT(dir == IPSEC_DIR_INBOUND || dir == IPSEC_DIR_OUTBOUND, +- ("invalid direction %u", dir)); +- + KEYDEBUG(KEYDEBUG_IPSEC_STAMP, + printf("DP %s from %s:%u\n", __func__, where, tag)); + +@@ -627,7 +642,7 @@ key_allocsp(struct secpolicyindex *spidx, u_int dir, const char* where, int tag) + printf("*** objects\n"); + kdebug_secpolicyindex(spidx)); + +- SPTREE_LOCK(); ++ SPTREE_LOCK_ASSERT(); + LIST_FOREACH(sp, &V_sptree[dir], chain) { + KEYDEBUG(KEYDEBUG_IPSEC_DATA, + printf("*** in SPD\n"); +@@ -640,6 +655,45 @@ key_allocsp(struct secpolicyindex *spidx, u_int dir, const char* where, int tag) + } + sp = NULL; + found: ++ ++ KEYDEBUG(KEYDEBUG_IPSEC_STAMP, ++ printf("DP %s return SP:%p (ID=%u) refcnt %u\n", __func__, ++ sp, sp ? sp->id : 0, sp ? sp->refcnt : 0)); ++ return sp; ++} ++ ++static Fnv32_t key_hash_spidx(struct secpolicyindex *spidx) ++{ ++ Fnv32_t hash = FNV1_32_INIT; ++ hash = fnv_32_buf(&spidx->src.sa, spidx->src.sa.sa_len, hash); ++ hash = fnv_32_buf(&spidx->dst.sa, spidx->dst.sa.sa_len, hash); ++ hash = fnv_32_buf(&spidx->ul_proto, sizeof(spidx->ul_proto), hash); ++ return hash; ++} ++ ++struct secpolicy * ++key_allocsp(struct secpolicyindex *spidx, u_int dir, const char* where, int tag) ++{ ++ struct secpolicy *sp; ++ Fnv32_t hash; ++ int hdir; ++ ++ IPSEC_ASSERT(spidx != NULL, ("null spidx")); ++ IPSEC_ASSERT(dir == IPSEC_DIR_INBOUND || dir == IPSEC_DIR_OUTBOUND, ++ ("invalid direction %u", dir)); ++ ++ SPTREE_LOCK(); ++ hdir = (dir == IPSEC_DIR_INBOUND); ++ hash = key_hash_spidx(spidx) % SPCACHESIZE; ++ if (V_spcache[hdir][hash].genid == V_spcache_genid && ++ key_cmpspidx_exactly(&V_spcache[hdir][hash].spidx, spidx)) { ++ sp = V_spcache[hdir][hash].policy; ++ } else { ++ sp = key_allocsp_slow(spidx, dir, where, tag); ++ V_spcache[hdir][hash].policy = sp; ++ V_spcache[hdir][hash].spidx = *spidx; ++ V_spcache[hdir][hash].genid = V_spcache_genid; ++ } + if (sp) { + /* sanity check */ + KEY_CHKSPDIR(sp->spidx.dir, dir, __func__); +@@ -650,9 +704,6 @@ found: + } + SPTREE_UNLOCK(); + +- KEYDEBUG(KEYDEBUG_IPSEC_STAMP, +- printf("DP %s return SP:%p (ID=%u) refcnt %u\n", __func__, +- sp, sp ? sp->id : 0, sp ? sp->refcnt : 0)); + return sp; + } + +@@ -1081,10 +1132,7 @@ key_allocsa( + u_int32_t spi, + const char* where, int tag) + { +- struct secashead *sah; + struct secasvar *sav; +- u_int stateidx, arraysize, state; +- const u_int *saorder_state_valid; + int chkport; + + IPSEC_ASSERT(dst != NULL, ("null dst address")); +@@ -1107,40 +1155,19 @@ key_allocsa( + * encrypted so we can't check internal IP header. + */ + SAHTREE_LOCK(); +- if (V_key_preferred_oldsa) { +- saorder_state_valid = saorder_state_valid_prefer_old; +- arraysize = _ARRAYLEN(saorder_state_valid_prefer_old); +- } else { +- saorder_state_valid = saorder_state_valid_prefer_new; +- arraysize = _ARRAYLEN(saorder_state_valid_prefer_new); +- } +- LIST_FOREACH(sah, &V_sahtree, chain) { +- /* search valid state */ +- for (stateidx = 0; stateidx < arraysize; stateidx++) { +- state = saorder_state_valid[stateidx]; +- LIST_FOREACH(sav, &sah->savtree[state], chain) { +- /* sanity check */ +- KEY_CHKSASTATE(sav->state, state, __func__); +- /* do not return entries w/ unusable state */ +- if (sav->state != SADB_SASTATE_MATURE && +- sav->state != SADB_SASTATE_DYING) +- continue; +- if (proto != sav->sah->saidx.proto) +- continue; +- if (spi != sav->spi) +- continue; +-#if 0 /* don't check src */ +- /* check src address */ +- if (key_sockaddrcmp(&src->sa, &sav->sah->saidx.src.sa, chkport) != 0) +- continue; +-#endif +- /* check dst address */ +- if (key_sockaddrcmp(&dst->sa, &sav->sah->saidx.dst.sa, chkport) != 0) +- continue; +- sa_addref(sav); +- goto done; +- } +- } ++ LIST_FOREACH(sav, &spihash[SPIHASH(spi)], spihash) { ++ if (sav->state != SADB_SASTATE_MATURE && ++ sav->state != SADB_SASTATE_DYING) ++ continue; ++ if (proto != sav->sah->saidx.proto) ++ continue; ++ if (spi != sav->spi) ++ continue; ++ /* check dst address */ ++ if (key_sockaddrcmp(&dst->sa, &sav->sah->saidx.dst.sa, chkport) != 0) ++ continue; ++ sa_addref(sav); ++ goto done; + } + sav = NULL; + done: +@@ -1273,6 +1300,8 @@ key_delsp(struct secpolicy *sp) + IPSEC_ASSERT(sp != NULL, ("null sp")); + SPTREE_LOCK_ASSERT(); + ++ if (sp->state != IPSEC_SPSTATE_DEAD) ++ V_spcache_genid++; + sp->state = IPSEC_SPSTATE_DEAD; + + IPSEC_ASSERT(sp->refcnt == 0, +@@ -1936,6 +1965,7 @@ key_spdadd(so, m, mhp) + newsp->refcnt = 1; /* do not reclaim until I say I do */ + newsp->state = IPSEC_SPSTATE_ALIVE; + LIST_INSERT_TAIL(&V_sptree[newsp->spidx.dir], newsp, secpolicy, chain); ++ V_spcache_genid++; + + /* delete the entry in spacqtree */ + if (mhp->msg->sadb_msg_type == SADB_X_SPDUPDATE) { +@@ -2383,6 +2413,7 @@ key_spdflush(so, m, mhp) + SPTREE_LOCK(); + LIST_FOREACH(sp, &V_sptree[dir], chain) + sp->state = IPSEC_SPSTATE_DEAD; ++ V_spcache_genid++; + SPTREE_UNLOCK(); + } + +@@ -2772,7 +2803,8 @@ key_delsah(sah) + * does not modify mbuf. does not free mbuf on error. + */ + static struct secasvar * +-key_newsav(m, mhp, sah, errp, where, tag) ++key_newsav(spi, m, mhp, sah, errp, where, tag) ++ u_int32_t spi; + struct mbuf *m; + const struct sadb_msghdr *mhp; + struct secashead *sah; +@@ -2781,12 +2813,12 @@ key_newsav(m, mhp, sah, errp, where, tag) + int tag; + { + struct secasvar *newsav; +- const struct sadb_sa *xsa; + + IPSEC_ASSERT(m != NULL, ("null mbuf")); + IPSEC_ASSERT(mhp != NULL, ("null msghdr")); + IPSEC_ASSERT(mhp->msg != NULL, ("null msg")); + IPSEC_ASSERT(sah != NULL, ("null secashead")); ++ SAHTREE_LOCK_ASSERT(); + + newsav = malloc(sizeof(struct secasvar), M_IPSEC_SA, M_NOWAIT|M_ZERO); + if (newsav == NULL) { +@@ -2795,41 +2827,16 @@ key_newsav(m, mhp, sah, errp, where, tag) + goto done; + } + +- switch (mhp->msg->sadb_msg_type) { +- case SADB_GETSPI: +- newsav->spi = 0; + + #ifdef IPSEC_DOSEQCHECK +- /* sync sequence number */ +- if (mhp->msg->sadb_msg_seq == 0) +- newsav->seq = +- (V_acq_seq = (V_acq_seq == ~0 ? 1 : ++V_acq_seq)); +- else ++ /* sync sequence number */ ++ if (mhp->msg->sadb_msg_type == SADB_GETSPI && ++ mhp->msg->sadb_msg_seq == 0) ++ newsav->seq = ++ (V_acq_seq = (V_acq_seq == ~0 ? 1 : ++V_acq_seq)); ++ else + #endif +- newsav->seq = mhp->msg->sadb_msg_seq; +- break; +- +- case SADB_ADD: +- /* sanity check */ +- if (mhp->ext[SADB_EXT_SA] == NULL) { +- free(newsav, M_IPSEC_SA); +- newsav = NULL; +- ipseclog((LOG_DEBUG, "%s: invalid message is passed.\n", +- __func__)); +- *errp = EINVAL; +- goto done; +- } +- xsa = (const struct sadb_sa *)mhp->ext[SADB_EXT_SA]; +- newsav->spi = xsa->sadb_sa_spi; + newsav->seq = mhp->msg->sadb_msg_seq; +- break; +- default: +- free(newsav, M_IPSEC_SA); +- newsav = NULL; +- *errp = EINVAL; +- goto done; +- } +- + + /* copy sav values */ + if (mhp->msg->sadb_msg_type != SADB_GETSPI) { +@@ -2841,21 +2848,21 @@ key_newsav(m, mhp, sah, errp, where, tag) + } + } + +- SECASVAR_LOCK_INIT(newsav); +- + /* reset created */ + newsav->created = time_second; + newsav->pid = mhp->msg->sadb_msg_pid; ++ newsav->spi = spi; + + /* add to satree */ + newsav->sah = sah; + sa_initref(newsav); + newsav->state = SADB_SASTATE_LARVAL; + +- SAHTREE_LOCK(); + LIST_INSERT_TAIL(&sah->savtree[SADB_SASTATE_LARVAL], newsav, + secasvar, chain); +- SAHTREE_UNLOCK(); ++ if (spi) ++ LIST_INSERT_HEAD(&spihash[SPIHASH(spi)], newsav, spihash); ++ + done: + KEYDEBUG(KEYDEBUG_IPSEC_STAMP, + printf("DP %s from %s:%u return SP:%p\n", __func__, +@@ -2932,8 +2939,9 @@ key_delsav(sav) + /* remove from SA header */ + if (__LIST_CHAINED(sav)) + LIST_REMOVE(sav, chain); ++ if (__LIST_SPIHASHED(sav)) ++ LIST_REMOVE(sav, spihash); + key_cleansav(sav); +- SECASVAR_LOCK_DESTROY(sav); + free(sav, M_IPSEC_SA); + } + +@@ -2963,7 +2971,6 @@ key_getsah(saidx) + + /* + * check not to be duplicated SPI. +- * NOTE: this function is too slow due to searching all SAD. + * OUT: + * NULL : not found + * others : found, pointer to a SA. +@@ -2973,9 +2980,10 @@ key_checkspidup(saidx, spi) + struct secasindex *saidx; + u_int32_t spi; + { +- struct secashead *sah; + struct secasvar *sav; + ++ SAHTREE_LOCK_ASSERT(); ++ + /* check address family */ + if (saidx->src.sa.sa_family != saidx->dst.sa.sa_family) { + ipseclog((LOG_DEBUG, "%s: address family mismatched.\n", +@@ -2984,16 +2992,11 @@ key_checkspidup(saidx, spi) + } + + sav = NULL; +- /* check all SAD */ +- SAHTREE_LOCK(); +- LIST_FOREACH(sah, &V_sahtree, chain) { +- if (!key_ismyaddr((struct sockaddr *)&sah->saidx.dst)) +- continue; +- sav = key_getsavbyspi(sah, spi); +- if (sav != NULL) ++ LIST_FOREACH(sav, &spihash[SPIHASH(spi)], spihash) { ++ if (sav->spi == spi && ++ key_ismyaddr((struct sockaddr *)&sav->sah->saidx.dst)) + break; + } +- SAHTREE_UNLOCK(); + + return sav; + } +@@ -3010,27 +3013,21 @@ key_getsavbyspi(sah, spi) + u_int32_t spi; + { + struct secasvar *sav; +- u_int stateidx, state; ++ u_int stateidx; + + sav = NULL; + SAHTREE_LOCK_ASSERT(); +- /* search all status */ +- for (stateidx = 0; +- stateidx < _ARRAYLEN(saorder_state_alive); +- stateidx++) { +- +- state = saorder_state_alive[stateidx]; +- LIST_FOREACH(sav, &sah->savtree[state], chain) { + +- /* sanity check */ +- if (sav->state != state) { +- ipseclog((LOG_DEBUG, "%s: " +- "invalid sav->state (queue: %d SA: %d)\n", +- __func__, state, sav->state)); +- continue; +- } ++ LIST_FOREACH(sav, &spihash[SPIHASH(spi)], spihash) { ++ if (sav->sah != sah) ++ continue; ++ if (sav->spi != spi) ++ continue; + +- if (sav->spi == spi) ++ for (stateidx = 0; ++ stateidx < _ARRAYLEN(saorder_state_alive); ++ stateidx++) { ++ if (sav->state == saorder_state_alive[stateidx]) + return sav; + } + } +@@ -4322,6 +4319,7 @@ restart: + if ((sp->lifetime && now - sp->created > sp->lifetime) + || (sp->validtime && now - sp->lastused > sp->validtime)) { + sp->state = IPSEC_SPSTATE_DEAD; ++ V_spcache_genid++; + SPTREE_UNLOCK(); + key_spdexpire(sp); + goto restart; +@@ -4758,12 +4756,6 @@ key_getspi(so, m, mhp) + } + #endif + +- /* SPI allocation */ +- spi = key_do_getnewspi((struct sadb_spirange *)mhp->ext[SADB_EXT_SPIRANGE], +- &saidx); +- if (spi == 0) +- return key_senderror(so, m, EINVAL); +- + /* get a SA index */ + if ((newsah = key_getsah(&saidx)) == NULL) { + /* create a new SA index */ +@@ -4773,16 +4765,24 @@ key_getspi(so, m, mhp) + } + } + ++ /* SPI allocation */ ++ SAHTREE_LOCK(); ++ spi = key_do_getnewspi((struct sadb_spirange *)mhp->ext[SADB_EXT_SPIRANGE], ++ &saidx); ++ if (spi == 0) { ++ SAHTREE_UNLOCK(); ++ return key_senderror(so, m, EINVAL); ++ } ++ + /* get a new SA */ + /* XXX rewrite */ +- newsav = KEY_NEWSAV(m, mhp, newsah, &error); ++ newsav = KEY_NEWSAV(spi, m, mhp, newsah, &error); + if (newsav == NULL) { + /* XXX don't free new SA index allocated in above. */ ++ SAHTREE_UNLOCK(); + return key_senderror(so, m, error); + } +- +- /* set spi */ +- newsav->spi = htonl(spi); ++ SAHTREE_UNLOCK(); + + /* delete the entry in acqtree */ + if (mhp->msg->sadb_msg_seq != 0) { +@@ -4825,7 +4825,7 @@ key_getspi(so, m, mhp) + m_sa = (struct sadb_sa *)(mtod(n, caddr_t) + off); + m_sa->sadb_sa_len = PFKEY_UNIT64(sizeof(struct sadb_sa)); + m_sa->sadb_sa_exttype = SADB_EXT_SA; +- m_sa->sadb_sa_spi = htonl(spi); ++ m_sa->sadb_sa_spi = spi; + off += PFKEY_ALIGN8(sizeof(struct sadb_sa)); + + IPSEC_ASSERT(off == len, +@@ -4874,6 +4874,8 @@ key_do_getnewspi(spirange, saidx) + u_int32_t min, max; + int count = V_key_spi_trycnt; + ++ SAHTREE_LOCK_ASSERT(); ++ + /* set spi range to allocate */ + if (spirange != NULL) { + min = spirange->sadb_spirange_min; +@@ -4895,15 +4897,15 @@ key_do_getnewspi(spirange, saidx) + } + + if (min == max) { +- if (key_checkspidup(saidx, min) != NULL) { ++ newspi = htonl(min); ++ ++ if (key_checkspidup(saidx, newspi) != NULL) { + ipseclog((LOG_DEBUG, "%s: SPI %u exists already.\n", + __func__, min)); + return 0; + } + + count--; /* taking one cost. */ +- newspi = min; +- + } else { + + /* init SPI */ +@@ -4912,7 +4914,7 @@ key_do_getnewspi(spirange, saidx) + /* when requesting to allocate spi ranged */ + while (count--) { + /* generate pseudo-random SPI value ranged. */ +- newspi = min + (key_random() % (max - min + 1)); ++ newspi = htonl(min + (key_random() % (max - min + 1))); + + if (key_checkspidup(saidx, newspi) == NULL) + break; +@@ -5393,12 +5395,14 @@ key_add(so, m, mhp) + /* We can create new SA only if SPI is differenct. */ + SAHTREE_LOCK(); + newsav = key_getsavbyspi(newsah, sa0->sadb_sa_spi); +- SAHTREE_UNLOCK(); + if (newsav != NULL) { ++ SAHTREE_UNLOCK(); + ipseclog((LOG_DEBUG, "%s: SA already exists.\n", __func__)); + return key_senderror(so, m, EEXIST); + } +- newsav = KEY_NEWSAV(m, mhp, newsah, &error); ++ newsav = KEY_NEWSAV(sa0->sadb_sa_spi, m, mhp, newsah, &error); ++ SAHTREE_UNLOCK(); ++ + if (newsav == NULL) { + return key_senderror(so, m, error); + } +@@ -7733,6 +7737,8 @@ key_init(void) + LIST_INIT(&V_sptree[i]); + + LIST_INIT(&V_sahtree); ++ for (i = 0; i < SPIHASHSIZE; i++) ++ LIST_INIT(&V_spihash[i]); + + for (i = 0; i <= SADB_SATYPE_MAX; i++) + LIST_INIT(&V_regtree[i]); +diff --git a/sys/netipsec/keydb.h b/sys/netipsec/keydb.h +index fb01c0f..793b668 100644 +--- a/sys/netipsec/keydb.h ++++ b/sys/netipsec/keydb.h +@@ -119,6 +119,7 @@ struct comp_algo; + /* Security Association */ + struct secasvar { + LIST_ENTRY(secasvar) chain; ++ LIST_ENTRY(secasvar) spihash; + struct mtx lock; /* update/access lock */ + + u_int refcnt; /* reference count */ diff --git a/patches/RELENG_10_0/killifstates.RELENG_10.diff b/patches/RELENG_10_0/killifstates.RELENG_10.diff new file mode 100644 index 0000000..0f741f0 --- /dev/null +++ b/patches/RELENG_10_0/killifstates.RELENG_10.diff @@ -0,0 +1,155 @@ +diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c +index 377e0ae..5cfcc9d 100644 +--- a/sbin/pfctl/pfctl.c ++++ b/sbin/pfctl/pfctl.c +@@ -123,6 +123,8 @@ int src_node_killers; + char *src_node_kill[2]; + int state_killers; + char *state_kill[2]; ++int if_kill; ++char *if_gw_kill; + int loadopt; + int altqsupport; + +@@ -388,10 +390,46 @@ pfctl_clear_states(int dev, const char *iface, int opts) + sizeof(psk.psk_ifname)) >= sizeof(psk.psk_ifname)) + errx(1, "invalid interface: %s", iface); + +- if (ioctl(dev, DIOCCLRSTATES, &psk)) +- err(1, "DIOCCLRSTATES"); +- if ((opts & PF_OPT_QUIET) == 0) +- fprintf(stderr, "%d states cleared\n", psk.psk_killed); ++ if (if_kill) { ++ struct addrinfo *res, *resp; ++ u_int killed; ++ int ret_ga; ++ ++ if ((ret_ga = getaddrinfo(if_gw_kill, NULL, NULL, &res))) { ++ errx(1, "getaddrinfo: %s", gai_strerror(ret_ga)); ++ /* NOTREACHED */ ++ } ++ killed = 0; ++ for (resp = res; resp; resp = resp->ai_next) { ++ if (resp->ai_addr == NULL) ++ continue; ++ ++ psk.psk_af = resp->ai_family; ++ ++ if (psk.psk_af == AF_INET) ++ psk.psk_src.addr.v.a.addr.v4 = ++ ((struct sockaddr_in *)resp->ai_addr)->sin_addr; ++ else if (psk.psk_af == AF_INET6) ++ psk.psk_src.addr.v.a.addr.v6 = ++ ((struct sockaddr_in6 *)resp->ai_addr)-> ++ sin6_addr; ++ else ++ errx(1, "Unknown address family %d", psk.psk_af); ++ ++ if (ioctl(dev, DIOCCLRSTATES, &psk)) ++ err(1, "DIOCCLRSTATES"); ++ if ((opts & PF_OPT_QUIET) == 0) ++ killed += psk.psk_af; ++ } ++ if ((opts & PF_OPT_QUIET) == 0) ++ fprintf(stderr, "%d states cleared\n", killed); ++ } else { ++ if (ioctl(dev, DIOCCLRSTATES, &psk)) ++ err(1, "DIOCCLRSTATES"); ++ if ((opts & PF_OPT_QUIET) == 0) ++ fprintf(stderr, "%d states cleared\n", psk.psk_af); ++ } ++ + return (0); + } + +@@ -2023,7 +2061,7 @@ main(int argc, char *argv[]) + usage(); + + while ((ch = getopt(argc, argv, +- "a:AdD:eqf:F:ghi:k:K:mnNOo:Pp:rRs:t:T:vx:y:z")) != -1) { ++ "a:AdD:eqf:F:gG:hi:k:K:mnNOo:Pp:rRs:t:T:vx:y:z")) != -1) { + switch (ch) { + case 'a': + anchoropt = optarg; +@@ -2092,6 +2130,16 @@ main(int argc, char *argv[]) + case 'g': + opts |= PF_OPT_DEBUG; + break; ++ case 'G': ++ if (if_kill) { ++ warnx("can only specify -b twice"); ++ usage(); ++ /* NOTREACHED */ ++ } ++ if_gw_kill = optarg; ++ if_kill++; ++ mode = O_RDWR; ++ break; + case 'A': + loadopt |= PFCTL_FLAG_ALTQ; + break; +diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c +index 182f1ef..6e0146d 100644 +--- a/sys/netpfil/pf/pf.c ++++ b/sys/netpfil/pf/pf.c +@@ -338,8 +338,8 @@ VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]); + return (PF_PASS); \ + } while (0) + +-#define BOUND_IFACE(r, k) \ +- ((r)->rule_flag & PFRULE_IFBOUND) ? (k) : V_pfi_all ++#define BOUND_IFACE(r, k) k ++ /* ((r)->rule_flag & PFRULE_IFBOUND) ? (k) : V_pfi_all */ + + #define STATE_INC_COUNTERS(s) \ + do { \ +diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c +index f52cd1a..6cefe22 100644 +--- a/sys/netpfil/pf/pf_ioctl.c ++++ b/sys/netpfil/pf/pf_ioctl.c +@@ -66,6 +66,8 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include ++#define TCPSTATES ++#include + #include + #include + +@@ -1578,6 +1580,7 @@ DIOCCHANGERULE_error: + + case DIOCCLRSTATES: { + struct pf_state *s; ++ struct pf_state_key *sk; + struct pfioc_state_kill *psk = (struct pfioc_state_kill *)addr; + u_int i, killed = 0; + +@@ -1587,6 +1590,7 @@ DIOCCHANGERULE_error: + relock_DIOCCLRSTATES: + PF_HASHROW_LOCK(ih); + LIST_FOREACH(s, &ih->states, entry) ++ sk = s->key[PF_SK_WIRE]; + if (!psk->psk_ifname[0] || + !strcmp(psk->psk_ifname, + s->kif->pfik_name)) { +@@ -1598,6 +1602,20 @@ relock_DIOCCLRSTATES: + pf_unlink_state(s, PF_ENTER_LOCKED); + killed++; + goto relock_DIOCCLRSTATES; ++ } else if (sk->af == psk->psk_af && ++ !PF_AZERO(&psk->psk_src.addr.v.a.addr, psk->psk_af) && ++ !PF_AZERO(&s->rt_addr, sk->af) && ++ PF_AEQ(&psk->psk_src.addr.v.a.addr, &s->rt_addr, sk->af)) { ++ if (sk->proto == IPPROTO_TCP) ++ s->src.state = PF_TCPS_PROXY_DST; /* XXX: Hack to send a RST back to the host */ ++ /* ++ * Don't send out individual ++ * delete messages. ++ */ ++ s->state_flags |= PFSTATE_NOSYNC; ++ pf_unlink_state(s, PF_ENTER_LOCKED); ++ killed++; ++ goto relock_DIOCCLRSTATES; + } + PF_HASHROW_UNLOCK(ih); + } diff --git a/patches/RELENG_10_0/lib386boot.diff b/patches/RELENG_10_0/lib386boot.diff new file mode 100644 index 0000000..c4b9051 --- /dev/null +++ b/patches/RELENG_10_0/lib386boot.diff @@ -0,0 +1,15 @@ +diff --git a/sys/boot/i386/boot0/boot0.S b/sys/boot/i386/boot0/boot0.S +index 798ee97..ab17088 100644 +--- a/sys/boot/i386/boot0/boot0.S ++++ b/sys/boot/i386/boot0/boot0.S +@@ -647,8 +647,8 @@ os_dos: + #endif + os_win: .ascii "Wi"; .byte 'n'|0x80 + os_linux: .ascii "Linu"; .byte 'x'|0x80 +-os_freebsd: .ascii "Free" +-os_bsd: .ascii "BS"; .byte 'D'|0x80 ++os_freebsd: .ascii "pfSe" ++os_bsd: .ascii "ns"; .byte 'e'|0x80 + #ifndef SAVE_MORE_MEMORY + os_ext: .ascii "EX"; .byte 'T'|0x80 + #endif diff --git a/patches/RELENG_10_0/loader.conf.diff b/patches/RELENG_10_0/loader.conf.diff new file mode 100644 index 0000000..87df125 --- /dev/null +++ b/patches/RELENG_10_0/loader.conf.diff @@ -0,0 +1,10 @@ +Index: sys/boot/forth/loader.conf +=================================================================== +--- sys/boot/forth/loader.conf (revision 256917) ++++ sys/boot/forth/loader.conf (working copy) +@@ -529,3 +529,5 @@ + #module_before="cmd" # executes "cmd" before loading the module + #module_after="cmd" # executes "cmd" after loading the module + #module_error="cmd" # executes "cmd" if load fails ++ ++loader_color="NO" diff --git a/patches/RELENG_10_0/makefile.inc1.diff b/patches/RELENG_10_0/makefile.inc1.diff new file mode 100644 index 0000000..7ed60c8 --- /dev/null +++ b/patches/RELENG_10_0/makefile.inc1.diff @@ -0,0 +1,11 @@ +--- Makefile.inc1.orig 2013-11-14 03:53:38.000000000 -0600 ++++ Makefile.inc1 2013-11-14 14:07:04.000000000 -0600 +@@ -748,7 +748,7 @@ + ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ + date echo egrep find grep id install ${_install-info} \ + ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ +- rm sed sh sysctl test true uname wc ${_zoneinfo} ++ rm sed sh sysctl test true uname wc ${_zoneinfo} uuencode uudecode ex + + # + # distributeworld diff --git a/patches/RELENG_10_0/menu-commands.4th.diff b/patches/RELENG_10_0/menu-commands.4th.diff new file mode 100644 index 0000000..98b58d8 --- /dev/null +++ b/patches/RELENG_10_0/menu-commands.4th.diff @@ -0,0 +1,13 @@ +Index: sys/boot/forth/menu-commands.4th +=================================================================== +--- sys/boot/forth/menu-commands.4th (revision 256917) ++++ sys/boot/forth/menu-commands.4th (working copy) +@@ -247,7 +247,7 @@ + + cr + ." To get back to the menu, type `menu' and press ENTER" cr +- ." or type `boot' and press ENTER to start FreeBSD." cr ++ ." or type `boot' and press ENTER to start pfSense." cr + cr + + FALSE \ exit the menu diff --git a/patches/RELENG_10_0/menu.4th.diff b/patches/RELENG_10_0/menu.4th.diff new file mode 100644 index 0000000..b65098d --- /dev/null +++ b/patches/RELENG_10_0/menu.4th.diff @@ -0,0 +1,13 @@ +Index: sys/boot/forth/menu.4th +=================================================================== +--- sys/boot/forth/menu.4th (revision 256917) ++++ sys/boot/forth/menu.4th (working copy) +@@ -445,7 +445,7 @@ + + \ Print the frame caption at (x,y) + str_loader_menu_title getenv dup -1 = if +- drop s" Welcome to FreeBSD" ++ drop s" Welcome to pfSense" + then + TRUE ( use default alignment ) + str_loader_menu_title_align getenv dup -1 <> if diff --git a/patches/RELENG_10_0/netisr_default_values.diff b/patches/RELENG_10_0/netisr_default_values.diff new file mode 100644 index 0000000..44200a1 --- /dev/null +++ b/patches/RELENG_10_0/netisr_default_values.diff @@ -0,0 +1,80 @@ +diff --git a/sys/net/netisr.c b/sys/net/netisr.c +index 3045e95..015b840 100644 +--- a/sys/net/netisr.c ++++ b/sys/net/netisr.c +@@ -126,6 +126,13 @@ static struct rmlock netisr_rmlock; + + static SYSCTL_NODE(_net, OID_AUTO, isr, CTLFLAG_RW, 0, "netisr"); + ++#ifdef DEVICE_POLLING ++static int netisr_polling = 0; /* Enable Polling. */ ++TUNABLE_INT("net.isr.polling_enable", &netisr_polling); ++SYSCTL_INT(_net_isr, OID_AUTO, polling_enable, CTLFLAG_RW, ++ &netisr_polling, 0, "Enable polling"); ++#endif ++ + /*- + * Three global direct dispatch policies are supported: + * +@@ -165,7 +172,7 @@ SYSCTL_INT(_net_isr, OID_AUTO, maxthreads, CTLFLAG_RDTUN, + &netisr_maxthreads, 0, + "Use at most this many CPUs for netisr processing"); + +-static int netisr_bindthreads = 0; /* Bind threads to CPUs. */ ++static int netisr_bindthreads = 1; /* Bind threads to CPUs. */ + TUNABLE_INT("net.isr.bindthreads", &netisr_bindthreads); + SYSCTL_INT(_net_isr, OID_AUTO, bindthreads, CTLFLAG_RDTUN, + &netisr_bindthreads, 0, "Bind netisr threads to CPUs."); +@@ -792,9 +799,11 @@ swi_net(void *arg) + nwsp = arg; + + #ifdef DEVICE_POLLING +- KASSERT(nws_count == 1, +- ("%s: device_polling but nws_count != 1", __func__)); +- netisr_poll(); ++ if (netisr_polling) { ++ KASSERT(nws_count == 1, ++ ("%s: device_polling but nws_count != 1", __func__)); ++ netisr_poll(); ++ } + #endif + #ifdef NETISR_LOCKING + NETISR_RLOCK(&tracker); +@@ -819,7 +828,8 @@ out: + NETISR_RUNLOCK(&tracker); + #endif + #ifdef DEVICE_POLLING +- netisr_pollmore(); ++ if (netisr_polling) ++ netisr_pollmore(); + #endif + } + +@@ -1074,6 +1084,9 @@ netisr_sched_poll(void) + { + struct netisr_workstream *nwsp; + ++ if (!netisr_polling) ++ return; ++ + nwsp = DPCPU_ID_PTR(nws_array[0], nws); + NWS_SIGNAL(nwsp); + } +@@ -1128,7 +1141,7 @@ netisr_init(void *arg) + + NETISR_LOCK_INIT(); + if (netisr_maxthreads < 1) +- netisr_maxthreads = 1; ++ netisr_maxthreads = mp_ncpus; + if (netisr_maxthreads > mp_ncpus) { + printf("netisr_init: forcing maxthreads from %d to %d\n", + netisr_maxthreads, mp_ncpus); +@@ -1145,7 +1160,7 @@ netisr_init(void *arg) + * multiple netisr threads, so for the time being compiling in device + * polling disables parallel netisr workers. + */ +- if (netisr_maxthreads != 1 || netisr_bindthreads != 0) { ++ if (netisr_polling && (netisr_maxthreads != 1 || netisr_bindthreads != 0)) { + printf("netisr_init: forcing maxthreads to 1 and " + "bindthreads to 0 for device polling\n"); + netisr_maxthreads = 1; diff --git a/patches/RELENG_10_0/netstat_ifname_size.diff b/patches/RELENG_10_0/netstat_ifname_size.diff new file mode 100644 index 0000000..1668e15 --- /dev/null +++ b/patches/RELENG_10_0/netstat_ifname_size.diff @@ -0,0 +1,40 @@ +diff --git a/usr.bin/netstat/if.c b/usr.bin/netstat/if.c +index 854844f..adf0b5d 100644 +--- a/usr.bin/netstat/if.c ++++ b/usr.bin/netstat/if.c +@@ -247,9 +247,9 @@ intpr(int interval1, u_long ifnetaddr, void (*pfunc)(char *)) + + if (!pfunc) { + if (Wflag) +- printf("%-7.7s", "Name"); ++ printf("%-16.16s", "Name"); + else +- printf("%-5.5s", "Name"); ++ printf("%-16.16s", "Name"); + printf(" %5.5s %-13.13s %-17.17s %8.8s %5.5s %5.5s", + "Mtu", "Network", "Address", "Ipkts", "Ierrs", "Idrop"); + if (bflag) +@@ -313,9 +313,9 @@ intpr(int interval1, u_long ifnetaddr, void (*pfunc)(char *)) + + if (ifaddraddr == 0) { + if (Wflag) +- printf("%-7.7s", name); ++ printf("%-16.16s", name); + else +- printf("%-5.5s", name); ++ printf("%-16.16s", name); + printf(" %5lu ", ifnet.if_mtu); + printf("%-13.13s ", "none"); + printf("%-17.17s ", "none"); +@@ -335,9 +335,9 @@ intpr(int interval1, u_long ifnetaddr, void (*pfunc)(char *)) + continue; + } + if (Wflag) +- printf("%-7.7s", name); ++ printf("%-16.16s", name); + else +- printf("%-5.5s", name); ++ printf("%-16.16s", name); + printf(" %5lu ", ifnet.if_mtu); + switch (sa->sa_family) { + case AF_UNSPEC: diff --git a/patches/RELENG_10_0/ng_eiface.RELENG_10.diff b/patches/RELENG_10_0/ng_eiface.RELENG_10.diff new file mode 100644 index 0000000..68dab2a --- /dev/null +++ b/patches/RELENG_10_0/ng_eiface.RELENG_10.diff @@ -0,0 +1,109 @@ +diff --git a/sys/netgraph/ng_eiface.c b/sys/netgraph/ng_eiface.c +index 0f471bb..679eaa0 100644 +--- a/sys/netgraph/ng_eiface.c ++++ b/sys/netgraph/ng_eiface.c +@@ -43,6 +43,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -66,6 +67,13 @@ static const struct ng_cmdlist ng_eiface_cmdlist[] = { + }, + { + NGM_EIFACE_COOKIE, ++ NGM_EIFACE_SET_IFNAME, ++ "setifname", ++ &ng_parse_string_type, ++ NULL ++ }, ++ { ++ NGM_EIFACE_COOKIE, + NGM_EIFACE_SET, + "set", + &ng_parse_enaddr_type, +@@ -470,6 +478,11 @@ ng_eiface_rcvmsg(node_p node, item_p item, hook_p lasthook) + struct ng_mesg *resp = NULL; + int error = 0; + struct ng_mesg *msg; ++ char *new_name; ++ size_t namelen, onamelen; ++ struct sockaddr_dl *sdl = NULL; ++ struct ifaddr *ifa = NULL; ++ node_p ethernode; + + NGI_GET_MSG(item, msg); + switch (msg->header.typecookie) { +@@ -496,6 +509,46 @@ ng_eiface_rcvmsg(node_p node, item_p item, hook_p lasthook) + } + strlcpy(resp->data, ifp->if_xname, IFNAMSIZ); + break; ++ case NGM_EIFACE_SET_IFNAME: ++ new_name = (char *)msg->data; ++ ++ /* Deny request if interface is UP */ ++ if ((ifp->if_flags & IFF_UP) != 0) { ++ error = EBUSY; ++ break; ++ } ++ ++ EVENTHANDLER_INVOKE(ifnet_departure_event, ifp); ++ ++ ethernode = ng_name2noderef(node, ifp->if_xname); ++ if (ethernode != NULL) ++ ng_name_node(ethernode, new_name); ++ ++ strlcpy(ifp->if_xname, new_name, sizeof(ifp->if_xname)); ++ ifa = ifp->if_addr; ++ IFA_LOCK(ifa); ++ sdl = (struct sockaddr_dl *)ifa->ifa_addr; ++ namelen = strlen(new_name) + 1; ++ onamelen = sdl->sdl_nlen; ++ /* ++ * Move the address if needed. This is safe because we ++ * allocate space for a name of length IFNAMSIZ when we ++ * create this in if_attach(). ++ */ ++ if (namelen != onamelen) { ++ bcopy(sdl->sdl_data + onamelen, ++ sdl->sdl_data + namelen, sdl->sdl_alen); ++ } ++ bcopy(new_name, sdl->sdl_data, namelen); ++ sdl->sdl_nlen = namelen; ++ sdl = (struct sockaddr_dl *)ifa->ifa_netmask; ++ bzero(sdl->sdl_data, onamelen); ++ while (namelen != 0) ++ sdl->sdl_data[--namelen] = 0xff; ++ IFA_UNLOCK(ifa); ++ ++ EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp); ++ break; + + case NGM_EIFACE_GET_IFADDRS: + { +diff --git a/sys/netgraph/ng_eiface.h b/sys/netgraph/ng_eiface.h +index 6fc1c5b..9f1509b 100644 +--- a/sys/netgraph/ng_eiface.h ++++ b/sys/netgraph/ng_eiface.h +@@ -54,6 +54,7 @@ enum { + NGM_EIFACE_GET_IFNAME = 1, /* get the interface name */ + NGM_EIFACE_GET_IFADDRS, /* returns list of addresses */ + NGM_EIFACE_SET, /* set ethernet address */ ++ NGM_EIFACE_SET_IFNAME, + }; + + #endif /* _NETGRAPH_NG_EIFACE_H_ */ +diff --git a/usr.sbin/ngctl/main.c b/usr.sbin/ngctl/main.c +index 3581386..aae67df 100644 +--- a/usr.sbin/ngctl/main.c ++++ b/usr.sbin/ngctl/main.c +@@ -218,7 +218,6 @@ ReadFile(FILE *fp) + continue; + if ((rtn = DoParseCommand(line)) != 0) { + warnx("line %d: error in file", num); +- return (rtn); + } + } + return (CMDRTN_OK); diff --git a/patches/RELENG_10_0/ng_ether_attach_command.diff b/patches/RELENG_10_0/ng_ether_attach_command.diff new file mode 100644 index 0000000..6adac9d --- /dev/null +++ b/patches/RELENG_10_0/ng_ether_attach_command.diff @@ -0,0 +1,68 @@ +diff --git a/sys/netgraph/ng_base.c b/sys/netgraph/ng_base.c +index a5fcb14..8227292 100644 +--- a/sys/netgraph/ng_base.c ++++ b/sys/netgraph/ng_base.c +@@ -64,6 +64,10 @@ + #include + #include + ++#include ++#include ++#include ++ + #include + #include + +@@ -240,6 +244,8 @@ int ng_path_parse(char *addr, char **node, char **path, char **hook); + void ng_rmnode(node_p node, hook_p dummy1, void *dummy2, int dummy3); + void ng_unname(node_p node); + ++extern void (*ng_ether_attach_p)(struct ifnet *ifp); ++ + /* Our own netgraph malloc type */ + MALLOC_DEFINE(M_NETGRAPH, "netgraph", "netgraph structures and ctrl messages"); + MALLOC_DEFINE(M_NETGRAPH_MSG, "netgraph_msg", "netgraph name storage"); +@@ -574,6 +580,13 @@ static const struct ng_cmdlist ng_generic_cmds[] = { + &ng_parse_ng_mesg_type, + &ng_parse_ng_mesg_type + }, ++ { ++ NGM_GENERIC_COOKIE, ++ NGM_ETHER_ATTACH, ++ "attach", ++ &ng_parse_string_type, ++ NULL ++ }, + { 0 } + }; + +@@ -2908,6 +2921,17 @@ ng_generic_msg(node_p here, item_p item, hook_p lasthook) + break; + } + ++ case NGM_ETHER_ATTACH: ++ { ++ struct ifnet *ifp; ++ ifp = ifunit((char *)msg->data); ++ if (ifp && ng_ether_attach_p != NULL) { ++ ng_ether_attach_p(ifp); ++ } ++ ++ break; ++ } ++ + case NGM_TEXT_CONFIG: + case NGM_TEXT_STATUS: + /* +diff --git a/sys/netgraph/ng_message.h b/sys/netgraph/ng_message.h +index da531f0..d17ce46 100644 +--- a/sys/netgraph/ng_message.h ++++ b/sys/netgraph/ng_message.h +@@ -138,6 +138,7 @@ enum { + NGM_ASCII2BINARY= (13|NGM_READONLY|NGM_HASREPLY), + /* (optional) Get/set text config. */ + NGM_TEXT_CONFIG = 14, ++ NGM_ETHER_ATTACH = 15, + }; + + /* diff --git a/patches/RELENG_10_0/ng_iface.RELENG_10.diff b/patches/RELENG_10_0/ng_iface.RELENG_10.diff new file mode 100644 index 0000000..b22f7f9 --- /dev/null +++ b/patches/RELENG_10_0/ng_iface.RELENG_10.diff @@ -0,0 +1,115 @@ +diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c +index e495f8a..8d80bc3 100644 +--- a/sys/netgraph/ng_iface.c ++++ b/sys/netgraph/ng_iface.c +@@ -70,9 +70,11 @@ + #include + #include + #include ++#include + + #include + #include ++#include + #include + #include + #include +@@ -166,6 +168,13 @@ static const struct ng_cmdlist ng_iface_cmds[] = { + }, + { + NGM_IFACE_COOKIE, ++ NGM_IFACE_SET_IFNAME, ++ "setifname", ++ &ng_parse_string_type, ++ NULL ++ }, ++ { ++ NGM_IFACE_COOKIE, + NGM_IFACE_POINT2POINT, + "point2point", + NULL, +@@ -608,6 +617,10 @@ ng_iface_rcvmsg(node_p node, item_p item, hook_p lasthook) + struct ng_mesg *resp = NULL; + int error = 0; + struct ng_mesg *msg; ++ char *new_name; ++ size_t namelen, onamelen; ++ struct sockaddr_dl *sdl = NULL; ++ struct ifaddr *ifa = NULL; + + NGI_GET_MSG(item, msg); + switch (msg->header.typecookie) { +@@ -622,6 +635,49 @@ ng_iface_rcvmsg(node_p node, item_p item, hook_p lasthook) + strlcpy(resp->data, ifp->if_xname, IFNAMSIZ); + break; + ++ case NGM_IFACE_SET_IFNAME: ++ ++ new_name = (char *)msg->data; ++ /* Announce the departure of the interface. */ ++ //new_name[strlen(new_name)] = '\0'; ++ ++ /* Deny request if interface is UP */ ++ if ((ifp->if_flags & IFF_UP) != 0) { ++ error = EBUSY; ++ break; ++ } ++ ++ //rt_ifannouncemsg(ifp, IFAN_DEPARTURE); ++ EVENTHANDLER_INVOKE(ifnet_departure_event, ifp); ++ ++ strlcpy(ifp->if_xname, new_name, sizeof(ifp->if_xname)); ++ ifa = ifp->if_addr; ++ IFA_LOCK(ifa); ++ sdl = (struct sockaddr_dl *)ifa->ifa_addr; ++ namelen = strlen(new_name) + 1; ++ onamelen = sdl->sdl_nlen; ++ /* ++ * Move the address if needed. This is safe because we ++ * allocate space for a name of length IFNAMSIZ when we ++ * create this in if_attach(). ++ */ ++ if (namelen != onamelen) { ++ bcopy(sdl->sdl_data + onamelen, ++ sdl->sdl_data + namelen, sdl->sdl_alen); ++ } ++ bcopy(new_name, sdl->sdl_data, namelen); ++ sdl->sdl_nlen = namelen; ++ sdl = (struct sockaddr_dl *)ifa->ifa_netmask; ++ bzero(sdl->sdl_data, onamelen); ++ while (namelen != 0) ++ sdl->sdl_data[--namelen] = 0xff; ++ IFA_UNLOCK(ifa); ++ ++ EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp); ++ /* Announce the return of the interface. */ ++ //rt_ifannouncemsg(ifp, IFAN_ARRIVAL); ++ break; ++ + case NGM_IFACE_POINT2POINT: + case NGM_IFACE_BROADCAST: + { +@@ -699,9 +755,11 @@ ng_iface_rcvmsg(node_p node, item_p item, hook_p lasthook) + switch (msg->header.cmd) { + case NGM_LINK_IS_UP: + ifp->if_drv_flags |= IFF_DRV_RUNNING; ++ if_link_state_change(ifp, LINK_STATE_UP); + break; + case NGM_LINK_IS_DOWN: + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; ++ if_link_state_change(ifp, LINK_STATE_DOWN); + break; + default: + break; +diff --git a/sys/netgraph/ng_iface.h b/sys/netgraph/ng_iface.h +index a78d8cb..fd4b751 100644 +--- a/sys/netgraph/ng_iface.h ++++ b/sys/netgraph/ng_iface.h +@@ -70,6 +70,7 @@ enum { + NGM_IFACE_POINT2POINT, + NGM_IFACE_BROADCAST, + NGM_IFACE_GET_IFINDEX, ++ NGM_IFACE_SET_IFNAME, + }; + + #define MTAG_NGIF NGM_IFACE_COOKIE diff --git a/patches/RELENG_10_0/openssl_head.tgz b/patches/RELENG_10_0/openssl_head.tgz new file mode 100644 index 0000000000000000000000000000000000000000..21b753879be1c0f19fec4ebbce264dc35a390215 GIT binary patch literal 4278142 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

o1}jTa$jL$kIJ841 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
M$3P-0FE`%q0`$tf9V{?~oMX}N! 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%0AEPVs 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 WO>6-LSBSdKnf#b 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

dDNx#CFLMf>FcwN*<2` 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

pd(VR?*!nxr`9ni? z-?V!{uk)(^w$W_`@cT)(^JDvzOI`oUrQsNIKV{Z0*rZV{Hx zeHnCK1xKxJ6Zrmq<7NA>-G7Ip2Cv%vV;t@kjMoTG8r^=od3xCB1}CT8lTMF%!&Mx# zd(Fc}`>1sQG_`#U0|%`iTgQDAl@1Sa+@NvVe*?Y1|2I3w{caoP*Xj0xmo1oK@<58B;UvyaQMzcpctU~-u4@}$*l<1ekBTCkEv_gzi8?O_cUSWx2-dpl?xHD1Ho zDtGJ(?0@sL+d9Je!anp)U-tU#{%OAzyzX=kde{|ok2wL_%~o$eIPCOj!%llG;51PC zgYTgi*e!SszrQ@~wQ1id|7G{|q))bURGf9*!p6X48(1`)_825KTr=!Zr~3~3#r>co zs0DA|wECD;1-6uSt$};dgWYTPu{WnBj0*eNcNQCf7=GA(jp+;UZ3jDg+wQfhaAIvt zn~lBV$Zs3(XpN_|d^{_d8~^G+YK=}bXuk>?2S2uP^3oXKpw||d>Ab?8dZ*1dvilCR ziP&NkPK9WCbd`7|HU+}{=MX*8BHAQPD(*6QchG>MTtX6nw-D<9>KcJmegP~+5JcO+ z=;fNE$VA^lOY9B^5_f4rY>UVR3}vxs|F}f7;IN{ z|NfsCl^n(?W<8gz9t|FUdaB=6)kGQC2Bf@WJsKh#x?2Mp6hGoTD{d!jkERC05wgq9 z1DO33w#Ip4Cth7&zmLA5SpJ_~&A*=bzg+&`-TQX;+i$b-|I=sB{*?d!H-4=APiOw8 z`2VN)|EKu>r}+P;`2VN)|EKu>r}+P;`2VN)|EKu>r}+O>#eWbm>R;i<=L9Pw5>&q1 z+S}RLqs{GrOpBcCNfM(X0T#YQIQbXlYrc%N`T9)7b|91a*I{xT`u1f^j&evDR_7~l zJJPcui7RnC_o1=l@KZR6XI9k8z`AsEF4GdQ&_?|@o?Jz6Au5;i`Rw_VCpR}Y+oA#5 zj+2WgM4E*i!JC9(@oDfd^Zi3Qp@*5FAM$Di>4>km%qIjkCP_);fVEx6^HA5AG6D<7 z%1K2oM`14*XSc;mCtL>IFY+zl#?*QR&uhVK5@Pm$jC&oLy^-~T9G`^$;VfQ3;G1n+ z(VcTc*K|d&>@}(z^3Z@eJFuJQ$c}|W<($oeeeV2%hbeKyOfh!o2CK0e+zWwM$m?Tqf#_1aH zFb2I2mIUgRn3?jHsqoXR*kr{aE5+{;pqBW?4eS`lgMxT9e1pjnG;%GID*;`~$@1gX zb}*42qa;MX?C^Rvza5+>L&D$I@|DTW0OU{I=g||~k2aZlQZZHq?mn2%@u_|rqh{F*sF?<3ke>krN z8?Xr*JT0Q_m_2(QC#)C7LFxPVv&kaO^(~+IoA6<~s?p|D`2$ZAbxr%mDH=}NPm3Xm zGp?`=86`OeDtMfnspGvLuoX-xlHv>ra6NeBy4`EIO>(yNJ#Lp1Y(PP+5-~kr%p~|j zL$j(jNHo~m#r{b{2K{4KyaEiW)Z8c%Xx)B&JUD5*JM1(LD6S{}_(6RKbA7;4F-102 z_R-001{!nnrqwuTb*0SjzSDk-eyctz7!N~P{i+8K3?Q56A=I3+oIuw|A#Qtn+s6Ib zSOnSwm|T2*jycood|K#)Z^D9kW|$2KmrI|1UoT#V7a45|I89-aIt_s%l$wUgMJR#G z;S?hl(S(6!o#>oOkxXI?`oX~w3z+$@0oceH@s8T*n;=7If+dOScAD7`pLGdP#K0_U z{S+%Q{f56i`%uO8?e2Z&W~zbp9LJjZEJWi7j3a9zWkixJW^<0&)}Sar;JRK;5sVS9 z({wnc7!A~2XlsffClxJ4ZQLYyZ!qqQ*k%wx7jtcTa~ZO57+zESAz_jj6CI&w0%&Jj zTfPBkhlZ2}C#4AgX&i(A{6NE?SLwh^IJqD>)X1($2%IkJeI@A8%oRBBWHD8(GH~k` z7ic-t<5|<0>5bf^Gpxbh5?avm>V-gO3awMTi0p6qVdwCZBvymdLU;ioK+Eue@Pzg& zIJ6DEG8<%RHFW}h=cr^9!w&j~y(gy!Clqy-s!@#8Of%@|dNG+tAePDLr;L@Iz+Vbh z1In4ONY5CCO=mZkvH6g`8{$!nV6UtV7A>LY2s)Xl-Ric98b;p_r%(rg`GK3(15;g; zHF?=Mz-Dd`6W?gQ-Bb954hc^I(UBl>-5)j`BxFmJODiNyLW@bvbaE8nX4HZ?hSQ|+ zb!e8LXk_XHqkBiWSto!{R9we@w#*|20d3>P^vXmDd)I*) zyn&$;55sIKa6+#~@h7%wSXHJ8uY{FPNe#q1@tn?g1Nu~AtN9%$@i5N{i1`K&zERWm z=ktw#3cvzn;8(0~Lt^VBbdj3@NEzl@#ne5x7(7IRX53J@hKSv2c99g&w`uO7d&!s_ z`xg^?-L%*9cSD@Nr#hO|3ZD-UQ0Hb=X+kFT`6cQMrgmbzT%Bo5$1pgql@^(Hh_sVi z#ba-(eCuJJF=;kF2UHI-oNKr{KB^-d;l@Z~KltJW!=cm2yjs3c`%%$*o$k$L1dzfo z|H6Vi(Ucn#)Tald;3A4v1*;5OXk%|Z5Qp1HP`;SXqlwowNF$3G>a*xWe1a24Di)_{ z1fX1%q;o}q)(UqCW*~5LLH;VCeQq2*9;bxluSFD-Pl2xTITC_RU26@GYRi&^T$zzl zV4;Ed4;%p`cdU#lc?N>I01KxKpnQ1DPnwPuu{b!+#N?q~n)7BHbq-oE$YHAiq82l$ zJqh2WN_sw)eUL@O%pMjtaS*YhVL5&$F{g+#qyx-wuWkyq$Zj6?uvw3U2znIk@f4M3 zkBg}oskLxsO3K!?PyriICbwi70YNaOa&{(B29~1}|BX1o9IPSvuf($%=6R7`VuER} zfshRx5$l^e%<0#mZnjpDN7F1(Lmb7C=}ejNiW&`ma6X)*VJ1ZkA+;$Jc-V~^@fSq< z;`nL{YwY13;WrKr-DG@{0XIMsQ_e-;^Dol6G&74!>bQDp6CJEbuZ!WnC=-&{N@b4& zmXX;RNQ6$orFa?e@>`M!Js>6t$GEQKnk;tX1=XRz94&|nupeSFK`5TYqbpo)yF=Z- z#flchxlE(lB$u0#fZ9Ep+obZq87KWXmPMeV&OnjRPYQWDHP7Sx29snlf zRpmdxWz>Q-_<)iVx5IHJgu7@Av zq(;9*u%)%(WM67nPDhAaYtvd(!=PtIR)XD{o$dh$!U;bCq}C&-e~f8p3S{WqqwDc| ztloUo_-Sx-FzB`atA#aX0S6>=wY$3CTn|SBtbJXh+K>o`*qVxAGaEvJcj5}&uw+W4 z0TZg*+^bH+e6A4RQM=jgpt=xn^=m}qKdQ)&my(95tE7e#Z~fHoHY};;20J3?GjoJl zOHJB^Xg;8)4rOgjy@U}2zt4l-VQ=|-7-8YX9iAia;AjsR^`@07Ne+Yw2tVXW)azDX z4zd=k%+ydei|6Z}$Mmps@DB6ct#bwfAH%#Tk=(0+ z?A^5PD$%s2aJGHT<40@;ijrhIh-~Qya`;2DcO;pt1F{ZEi!-a6WoUAqlLgv1(fQEb z93wJ$cL_&GlCAF%f7FA=mD%PdGrxLAa}V*lx)0^v)GOwb7cai6{$|=z_MyGBGOOV@ zywhCxEZAAk6;kdJ${=)B|0|%|LuwDdQu#lfDgS2sQnioNoJ|Ev)Rn@JPrMbB`)a^D z<`YA0{(uA@`O8&wEQMxfy54p>$FG$fW3}m*Ed=S{j-PBQ)kl;U8_OtTR)hRgx#5T` zIdRcw{#hUL19T6r-Z?I1xiaPia`Ff^VbTejeH7B5*(BGPy*23>0$aG5P-@kp z)HSTOSeNvRC*4lJ)9f7THu3w57zIVd{hqQzPEPmW`|rQ2%AGdh8h{r6v*R!}Uw%wF z4V{D;-hvx2OqtsaH1iIHpItgnV$gw+UmbSd?yorAlLi_xq~Afm(-|DX{GAEgefwRm z0rFoK3)b^k(9`WKZCPX9iE@XKUkdqV7*#>h{&;wGt8{yQ_2!yUSC!~d9k zD?92=YAa1EH!Ie#xM_4qnR|`;9IxTz|V=776yo4zAxN^51QK$3zUoA5x18F zb5e|Lm>xES=|+OJkt7>j#ajpCb&?Li*;SgPN%jTpRq{Uz)#;7;!%wJp;9|oF^>yni z%K>nsHIjYr)XxDSp6gnnqyL(6^X3M?zHe~<8!EAztxexe%W<<|61w6g&!ud3v!?4>1poGO@ z4He5hK^rDKi9kp;OqO@$JqGo-*?o7?Zym_dZ+h(KQe3zKD$MroV?!Sqs$j|oOJ&<9 zL$2SxVUAXmk`NeFkRaSs%<0xhQCj9I?M-7?86;0tT zPdN`|)%ck+yMwpa`hrH&Ps2$x-qv1rpKJ5ka7=EP(4LxTi><;Y(vLYYvl>yN_{VY3 zqK!p*_^Q!9Y#pq4ATJL)%^$R`zzKBJ?lE~SJ`gE*i`lff+O3wlg;NTc&GUG>Uww1< zFZ+ZHE5BeR@n2pzL?HMD7*bm!eP{2dzmB*sJlFTXe5h3_zijSS|GN8a_3s3jJ~ z2ho%(DYEZys{JDZhuJUEux9j$VpkOUm=4cFKnIfc(Zd%Qr3O$6v?83&g(bO;7px7Z zOt+N5cLOzFF>~Wc3`L!N%RZCT3rvGEU8;;^_ThzvBa)X9LQ$#qvMJL@+1Zd2bY~BS zl$tQOC@&3o3!)$p2VOFJDM;Yab^{oT)Xc0_CW)nBdT^$igC{ z96>Ie_KpYhBkhX^IT#;E)tKM;jN4g;N&<_B*0(~CoIJTaL2~P zva^_qZY;2Ztt}2kps%kfMCJ@-l+cXHMv38kj=~hMO5yg!HoP3d)F<)9c_h|M7gfHr z>^R_s6&b%A!#L=4Gd-2_R19E}2E za|D9-OPC;s0lP(tq@1;tvphpzA32@`-3@_m2!u#K1*!l};!FofMjKOnBd6&@WUk(_>4M+*ejra-4uQ-VsU#Y@dX@uNbMTHx)PnPCql7pL4E2cGhMtFJ<9N3me zD$5!U8}&7|>4vuH#^0tJf17k1ccb)K?M8PYvsF1vjSX&8&BJ?kbFV$S@%C)pc2?Ip zlX2Q^Wnb`+}}xTL39l)VvJUu^#OMOwnmO z>1NGQuaDuYGi2aNY&r{XV+mFcnHMLYFMvz&Y-Vjex>Iu@LST+&v=d24o?!GPvF}8K zZzN0@d*HHtR6LI2rJbULtlhv#ua|j+=0OTKN(^h(gMtctF$k@%P3vYe;2CLA_xD|H zddjxD>)~f6o+ii$A#r+BFM7A{2;9(wJYC=-`2kRXSQx21s=$`LhZ%gR)`IDc>lcyr zL3Hmjp$vOBB3}!`H;~ZyR9rjODuh0l#5kylh;|2NcKI;3`V3YSq)(P}s)k zaxuL!H%-JiHkERO6VRm@Ujq&|(M=O&0jgg}ER@QY1h5#LJKbvk2;ellngU&W?i8PZ z4e{f@2IOj^CDWZff-T#0_G!AsevkN=fBQXKjOc$aW{n6))>o_cc*g!!OeKu&hdgfC zzX{79CEMEKjC+}bH?Bv<&3_oUeR3^G z&JCn--hy>CPLeLXIDOM`10D?=5^Zq6jrv5Yx$> zpy=p6PXjIg=!n|o1tYTxr?OIz-c9z1C5K2vsFy@L^*OUaRF94A=~S{5_1|QVG=}oP zY{(rUY{Jl#$FM1KtxLStgEIKk&vqP^)MrRb9Q@YU_M?-uj%L26PUd~i?Blrbn6`Wn zTAP!vMYiL=?>yh7f{sKSfh;z#n4{FsrK;+Ts`=|(r}U|@>l9Q=TW0fdW~%3JEjzXgTEv>iR<#pif7oI6@Oj zm|TZL;xpgKwr$(CZQHhOn>)7V{c29;U}~!7KXi5X z-F>Zfl}#4(PJveT*L$#{5J205X<^39Pv959iC*&GGP^h_?1e}6y*dP%4fvKu@7+OoKiZPQ0r^?UP2Cxt(iRKk)c46(2oV9s;%p=a8>F{6hz z-?54vOI8;I*R9laYCW$z1yNmzk%3=+vqe%XoSRGRoB9wSBXdQnSgN^3oGc_ z$Ge5N-!}7sXJ>WAEJ_L#1=XxdtOzASQBne5)alx&)wR{t+MQ#?Jn1RQ6+5{ng$uBo z89p+^hC_v@ndt3rw(D%cLG)=_o}E*a>^(Y9qS%h|GJ7QV`)?|ls@j@$jZTC*B3)R; zzeGs<w__1?3 z>83X?5cL&c5sll1eihbU8oB%dSKImL9%qDl;`4>FN{>r&(6WQ+AkRQjPr`8 z8)w>vR)pJD^^&q1qG=r^8k3V*qK)DSn)cU6^P+J|)*_JaGMY7X*ENX2n?je4tfDn% zszpdcw$a)duL5Luv@zAI$2&j5R}erLn>k!rN&FYwc!)!S}0C+z|me4nh?u z9AhBa#>4P|+R0)^g)~rG8Y=-l_MAhI37F8-<*fkkwG@qOU^AM>mFceNXZnY62{=hf zf#yT?S?P3K;csNr1~DB@m|0X*)cCu6TuZP^%8;9)59F|%gcIcGNG_EEfdpFS}6-KbG$}ZR2yzB~x>mOzQGQ8|& zK<6#9ZdOdSi*c4r9m*w8ym0nDcw>d^GAM1G1JOP<=n;1&q#2Mjw^O4#k z9{ju}F>vxfBStI}e6Hy9Ul1X|ioX~Ye#T1vWZ?>-a~w;bE!k<7bKYGHSqAIY7#S>} zt;YADli??C8!^!~^mZ0Ye{M@OXD(H2P-__T=@!fnyZr+3$5;VQWSK((^-FerCR+r# zAtr`?npqvI|t9^_# z4nwn4klFXceGefNxb9wy!S$-3w(iAOQf_PPL4rfJ+;hi0h16v4<=crnNDy7t{LQPA zO&ON@coR5R*kwP`$M5oflbaEBJ;S0+-TL;utARHzCz->C_Kx}&R3Q5}tz0H$%#x_j ziJ~+wu0e|)7lI{NMdgo3a>3Jc|J$a~=VsN-MXm+Dh{%(y21yaf$`vo_I5?quPw|E%8jJhG6jTWaU#Jq@3|$ z{@?N&BvQ<_8kw)yP3Y<^{+a_pFcn@om1@}>L9D$|&6%GpW{Xaq1Z3pD7qaqL^vJu* zPmYZEW9&-O7y94i&5Cfg!W^}e$s4JI&Y4luPOAJyhH**M_e;oXloL63{v8P&lh zC&E3flqE@yA>_?S7sl&W&MXlJF9iV~U#*(3naP&D5{2$|=&{yTuDT=Vq>|3IqqU4z zB1za%iHwavqy}g^ouGB=JYUa`MABz)GVo7i;mbU7gp8~Wu&R8rj0kJOo<{I#<@cte z+L>Uk`f4a|Cek~Qo+xOmQbOKxSP)g z;^Cv_VYk0Eg~V(JFE2l62&!^?D9#ySoK~Yw>1OKYJ8P$-=pGW8Itf>7EiP`vo9R9 zq$@oz<0d?BoPcR%FV-KLIo<1oWvClIE&scu#Xap$1toMUJ%(Isb;r2Gd?b|CxS>iKFNY3t2S^ba! zr+Rl##fh1%L{cV+&w8@v4B~yiSa4LV0+^wq1Qb31?KH?X*wT7QXjntu5pP zykiupg~a(0xFm4%NS$e-Xd1)^LecrT_v0ui-Q3e5euzu;MnLypSSR;Z+EpBE<< z3fd%~N5Y5vPt-J#+}LELLvx&%ReSk@KcE=cK|B%ZNc6g$DDv2S5!>jSlrOGAe17|w zaY#kdl1(+bu%OzoFfwXl%99Q3^r`)MNunx(7f7r|x9&dE&_&hXGcwR)u6Enyy+2DQJc2Qd$bNWF8Y!!`E~Gl9ftp{ zCiJ(o!f3RajLP^MZ>9TvoxcvBvXxR$Fdh_jHMGFrq8lrhOxq{l!4`rXQM?nE}~p91kHMURMa6&kL;&yEjMH_G<0}ANuDSU-PO1T znqF<7)V`#yN)}To&&i#okfa5kwe6oayo|xnBZtv1sj_Evh^8|DRp5-RkObcA@f&8H~+of zXQjjRJSS@(>-oXjo&RY4X5X8sn_wUhP}M{s>buP%6R|TGnvBv}uM_*HwFA+?XnW~% z*Q9SkZ_%T}WFRZLgw2ABi=4>FAD+$l01K>AVxY-<_jZybEM-TuHy*43{uydzA0h!= zz@2#seK|VGU5_!T#@5z1o>1oyNRBoaU9!G}L;1{({t4EN9>-2Tk;44Xs++_4C5Dqk z+->r9u7Ts&BY}D(%ZtthfgjIZ7LTc})Mud;&9jZH@|g5Sc_2KKhTZ3`iGQy&7y&xQ@BJa};!CPl zU1w^&b{7hEin6jg=<3VzZrB7x?%rpVXUm9`SVmzYw&0csz|oY&V7n8x7TFS>oe5@$9J z3v(x&8p%kUdIbe*>g5kOl9=ygGUV1oHcEExa`aHDZNf+8_#Pn^Sdf7ysVeOzRTvRU z&rBj28U1jNgRS4(O=hs??|z|kCt*p*JPEGkI93TS9@BE?48S;c>7E=4M~SS??(dEf zN8Q=E)nBqd8sB8f^&O&Q^ejn!k%E)LiV|lByg6p7kDI1GTMlXQ^|{XK)~dA zPf*;2ORA7~x*h8o`U@c(X>kwP@(m5OjK-1`mZJ;nQhTFz%LGGLH1}PjTRo2kJgKq> zBjNtAe%y?c34k3@;qflkpbSQ}@8DBx^%7U{9-6>4!I7n8Wd0B~Aibv4Bui#X!k>6Y za-hBqT1^Nt;AZ5BXh-+3<;X%>&RQ1VA)*L$8_~n#}Sv_-(1kP5fbgSeJ ztV&VDKv_~~G}1wpobBGOhWcXhR~_~8@dxd>P2*O98x>P}HieG8JW35!z14&0qUVYW z1NJUY#Qo$oQ#$^ z&-=JE47B1rUb?R1dF<5es2tKEPTLd@;o9_tBvBNws@vg#y3=dS)s{8 zs@Lu?uGodoVgBU=ZFWv9B7K(`00SnD8muAfFlR9L(Xro(PgLAB7u47*lKsXbcko7& zE~Fl7ZaKaD!b4gSWNxI`@qP|bn7Hv~U{f+i$?6g88NmPrrJ{#vtwbeYI6|katNtUb zF8{Q4rjs+~I^%e9Fl#M0^p{bf%YwW&R|lb{=M+r@N1IsXrCq=<^5elAYX5Fo zbG4eJCUzEWty#3UVHEyZ2~|#5e-^@Vn{d7+<&<-XSDOExn9&Q5)ss&dcMl1uoPMny znnLkI%+U4dcyc)&MYom`T*kbGu!I?3A{R>1CJka0Jz_f3;hVNNE`>%-H@s9h{YRR9UQsAoIknU6BPdib5?(5F`P7Is7mSg)WryoVA z#7;weT#nMH|MqFGyq!dj(kn94DKVv1V%{n;(5cXyrbLNmrH_SBUQeDcHVOo$@Oxv@ zkv*P?gzoDy;A;MJ>&O7-lJmF+X$%D_P!4+2hcW!$2i4Mcn$L0jK zQ1-6Vgv1{`K(pn^&TgU#t3fngQH@w%UWYdw`XZ$=9tpkt&vwS4{!Lk&KT5+Mb~ho; z==k;8g6NmTwne<9OOqf#83{-`;wRN4{ArRXsm;*kzNL%3oM>+mMZKInAU&rY+~cZP zW}VPXkdtQne#fwOu0V8ur!&jxH(p~p=~Bj;t(Q>fH(iJf1%qZ}&k|7bmm6laN6t|& zkEE4vOiw%|%Pjq)uZ!2w@pp&m*7 zF2pC|Cc-+zn>f_ec_L^AtvymX6D8O2PCOnSPfq9?rXpVZ-$=)q)p7J3=)?yVeA9 zqvAeQ(WK+?qIM=Zf#z}<*j}1twa=%2zb>_!kQn!4gtxK(IeDAPqBQ7>X#dk4FDi76Lnh4 zvg@Au3RYi>d02=HJ2(gYa~*o`oLLlWPhsUfr;SLRH?MW69KPBj(Pb;uzF|z$pbGm1 zT3@8YHJ$`J zcy&m0+zT1PmEX;AASfAN<*e(?$oEGzN#vHBi5Z`o^SR2%d!f;Elb!5yFxdqgPh8q+ zqlDPuy?QVHD+twlz3I-(N^1tH1qJT$?RzYcRig0j_$-LE+I|fmlhHkPZDjVKjAIO$ z+3QJWz1WEeVl*SkbZ9QMl;~p}!XV0Za-uO>^`P_~Q*21T%s!^ioElMd@go8_>VCHO zNiJLSnzz2uP#Cx>b?Uo2S zN2{NOCTF=diqqaOk1bBSRjL_=#p~elz+E^_uktE56AaGpqp~;%MWk@F=|$7F0JXbX z9Rom<4S)I+2AnDic>_%=Ez~Pt6)A6P4;S>wAN|&{3Uu3>=yko-zH6X>)#o4_toMtV zyXo<1=YBss)2xqQpZz``&-9MN8p}rHNWPy?KJe$?j+GjDJ~WN4udls7uQmLCL-MBm zUVD8$obAZhcf493pElU%a&Nd{U0wUWPcNGMU|oAx!BW3zojV1wTtf_JhGlK%=2q>i3F-Y9tMoJ7+m`S(gw4zmqdw%b->!$F8H z2KWkBvyNp?70hH6qUJmt?K1AOx&1x;z$^_l0qO|1+2ZePfTFh|h#T_Y#5Q!tmJaA- zWLD0>I$eMrN^ds8QO$du2Hs+up0uoxNhPU6}@kzgqTz zzU2qs&AUW-ZczS^jR1TD&iwxm2uP_Salx2z6(q9*dfzw3UrdH03g#sfp^j0cG7#Bx zrOYLQau&6%Cz?Dx1&i}sY;7QG1oOL*>M<@&WGv>lX@8;uM-ft%Z4n!TNRqT^;c3-k zF2r@-ws1`NvvO2a=6hHrdoAVY{vg$-m0{#4+A%+9T*^L0Xh|7nCNZPo3G55O$oPB5v74d?(O}P0FmO( z8BuyXN}Hp9@${y2ob6D4#iq3f-y<}ZLl(x}Z60Ne>ZmD?l*CAgJk5lb;+JiHqc53@ z8dv1BfWBt_YIgp`E+!P65fl)&_?bXJ%~_T$*|n8XvEVzIeI8v$`dsQ+@V7r1l@|`1 zmG_@Svf`!j>t*CtVGcYTdnTN~zPP#9%Y%}CL3YnPCBwRXpkyV~m&zFt0};==8Nwcq zKs|ApZ*_ONu=*i~-}OHxa|gLL=oZ8=`=PTxq$N#zM?mxOOqIbxsGW-hr;W)C+xXqX z>_ft3B3uEElfst<8!15j0sV~7WB(C9tVXLsWcc1ks8|C%1Z0r=KCaMe@?wnZzt^fL zEVN}Lh$UEteSeobY}|3}&cBJ@F;JQ#@y(Fw8Ag(5AE?{ZI*l$;kU|SF{RSn%I~2#X zdr*2kT4ONJ*mTcfp#6GcN{`;iN>~is?J)DHF(WX5PNR9@Db27-Sfl2uxc_E=0B=~A zhC~?oi?II$c2+KiJCnJtd*KNWtnLNO;$t^{mhQlM=BRzQ#n@8&@5y!M;BP_J1nr-6 z<*(SV2f5`e9jy)c{kj!F*0Hk%j@|?RZ{kNX0@t}y;Pd>r9$rs?eP`66FNUPfXPcY5 zggawkYRT7r`vNlTh8W2NA<(xBLZ}UD>Z})zvo5em6+^}0dvxl>pz9Yw3|_b8bBtq~ z8nf}*##PM%A6HHZ0stcZVaidKOo*Txv^=RX=;wh=w;u*1SQZ09*{ z`T}(Kf3tFqeB0n3ubjOGrqHL6s^SdPSm3H3@^@@lKihFWwNP5mF=sGJS*PpUf<_gNSgUIs$7=h3*yXxvh_mUhg>Iir>h}KSy=Vs(R_A)@i(CuPB+AlQ{Qf_`0?47j8tC7)oM>rwwCSDn|f}*TBA6s<8V-@KpY% z2wA+1WNWscF05&?PFT|D{|$~A+J=tQ4^y_(VLvVac9QM1$|dFs9l3l{F8qJuF%|l@ z=w_Jl$%MZV{vPbwbSIbzU|9xTIlo}86K1#xqek?DoJ0pdXH0SHQFn1wOmQ3FuH`8D zZIbB|D;yGsDysTqQydasKe^MzV-m=)uX8437O>%YUxKEIr2aH~9(JaQnDa!wOk>i% zq`H%p=C`y)T!XBn9Q5=5Cm-|6A&ZPT-jm;!4k5Nc5wW!8j7QY9mK*C&?SHjq)8`BN z3MUWQX^cy8$rFJRWFK*nF}Hy-L(}k34^1M@_&8)4Ka@^GjRPrmW7@XlwRY7OiwSQN zrO0f+B5t}2 zsf0l+n*6~YmI@E#uq|iu#{;I%sfCGev}u&YohM_Gr$P_7{p16?C$O0;0Y`8Fr7Q`| zk{<_{Hww;}+Je1ThXCkK`mN7pIfolUjy+i{IEuJwyC52W?^pXILB6UtcKw{%(0-VE z!h=LM+!EA3XKs4QO3C`Cej&%46rZSqycI(s26aHvILfHu|Z0gE^!SNWI>+?5QwkaT2 zPXGx!3P;i%b}tAE`$$~{1F)E1Wq^t}Ju!5)b+lQrk)pRzPcr zmh#(Wei}_q0!v&FS&a!MXM1p)^2Tb~Lp5goXl|FEV7^XJ^oEep7%`~r=I3v5%plL7 z5TVR>PzH)E|Bvu&Je=l)QBe3&1bDyY8|XL)T#%X(x3GS39O5hc?e~Hm2Dq6jR}}kK zu1AYF2u9T0bz+bE#w`FiTwL{W*Q`aqH%fw$A$mM$Afhf?xC2R+KX&=v-qh0C>4-zso)w#{=K1JL=5F<` z2x|-d;yXuV8+~6}9A07E3JIP}D?L7^T-~|D=>_aF;(m9LF5f9G|84u5jCUw1Ijt|2 zZzft_dpBNe6zUZ8OD#(U1|RJTcW1ZvGhP;DQV94ywAIgz-QI*b=Ckw4&BX@ z=NEkM*zu8*;%JoI`aab9#4K<}sDrGS6S~9ltuX{%KHOgDSFootRf6>D9*K5XFpjd!@@O2T9da`oLi*bMxTrObRYr|z2A`|Hj057`2{fFv{Anrx# z5|(T@gej|ikmXXP4~w9*TE#DYW7aCQLDELDp^KDNcju#r@^SDG!Kbh4 z^S?ZC z{Ib~@hC}cBfxj}i+weADJ*v*qXEScw#-rn+*Zz8|8p~jI|b({Sz(Jcw!J-q%2|J5N%80HM#uMa4(^C(e@r;T|TOTtM+ zyHKUreSb4Q=2K(OK-ylAnPIc2&1O|5F-u)j4sm zlety=+6kR6JI2R>^kX`MSm`NG-;VMxc^}=m)>4yGBx+)I9vpuKSaAaVmf@5!9_;<8 z1gb+ZBumhx!K2x5aRr7lTYvCqof2a@vpRe2xYGDr)-BgWFqo{48Bbjg~#Wm1UE%fGJUxP z?|7?+i~FWmk)4jTsrt<#b=Tx9OP(2|sb*(0=#Eo9L+tBJ;|xYMb%Y%1?a$N9 z>>fl|&MaaXxoYrZm9~U31#VheLDz9MjFn3MboGu?sw#5@%wEZfp|hqJn4>6b{+(bP z4X+0dW-0E%wt096+H6sLe9;F#g~1bR;1fl{zwACL*O z2#mjv=nNKlA4lPRu~nx0qnlzmkT?o+f3kV{2>)X;^i4pkPU#c^H1G z&WcZ=bK@i;(JU`c9N@B#`!f8xVRu$l9(Sc=<-v_sBy09&`+@qf%K3_vt^XpF@J|PJ zV7TCXkZi5ZOQOW$0?~S1QhXTVKD{pyqMYU?KmqO|xL{t7A#RI7CHh$b^4upPoiM?R z76IxDd^a@^xqQvL@S1$Ad+yb;p&~*nsQHmQjx* z9!s2-E&+6|UNM#xl!HJ_bpra?Kq{^Xp#PZlC^PD)a#FG#MTC|>{F_5D_hU-Ay&+%~ ze6uYD6f0@+tIQVMr&A4*F#i}KD%xl}II0c0<{%b9i?UhNip03^m$FMrTiQx$hV15} zz#yk_KDXbigl(-QY3U1eJ9GH&iNGEeOa`is?@neQGYcq!m%@k@ho%e7Rfk$-hxL6i z3Ex`eV%mmf{a~P6>PmMIL!#JQy+g>)J8c4CL;o>i5j~p+sQw9yxx+4UD|}AV58_ZO zH#-P3xC*;#C2dN+Woe8uB{Cq-odaKOC}YBX04}_t72Ibz9LQQ_E9ErSV%*J7j{L@I zC%ahHAmWlVRK^9rU-*RAh-xofvUR-i=&G`ve2`uwJWD?IH@`AJ>ACK7Ncg8aIi8jr zf3Tf7XHXot1*TWa94BVc^7R?aBINjzAPT3eR@X0~=Q_4{Zv=aQ4VAm%q9cZ-^^QT1hl>>~ zRHxep22)%}u3SgISrpuNE0#nrBZ=&m?R1$6Z<=dgek-f-5T_?{PL!7GO8vDHKY%=9lX1d@g zRB}?j)s?Uot@r#t9Lv#$Bc5j2w?}*ggw6b=%iknc&qex?F|EGTSibyUQa3beU@>%4 zi-V=%C`a0m#4CN5pVtRFf}0@5B*%X_rP-pn(PZXG#-(xY;lWA+Y&qVHr^gGT=A1lQ zIyzfs4T*8IrD>dX$!H>ZvTVoyN+E#l>>ztE72a@?E(4wUU;bz&HS0*rMC1I+JLo*I z*LI;lwO)+ggTi^&)*y>mmrPywf+{_afaD07cTKa&7dBg=UDhB}0I9?=GU07I);lT3 zc+zFB$`wM>!CvjapnUJKO44iVt(EFvqxbNOa2O1)3Meb25sdXXa$6-*C=Sz{Og61P zMi8WG95rp`k#bOVtKcooS{XyFDGeX#eTBy4{D{QK5JGnH=>^sxF1aRQVot9|Cjpt1 z&GYAwVzM^gM9@)aAN8Gi8HgKxGS@^fXN$>sl^g%6S6F~QmgBiJ& zwLn<(l^?1?{7x6eg9GWdQ&JX90#6;>F75!Abe`L`r#3ZkqUyz=>$TKne@Owd{-QLg z(;P^fXP%t4N@pDxVbX$2ZNb_!jGm~Itj>2-!yk?t%KtDtsMb7l)Nf8|`PQB>5qk&QyPKs&IA!gaV#{*(#Bo<2eUP zTPyi@+`#frfymr?A7@qLlQ+@`* z6A{U&Q^2Eq;uHjJ0y~cD zTutBfNbU3YSNY$aD_6Hyk25ounYhgC)YdP$TfXHGOqKmLJo?MD69NvAbKbLNlT0*3 z)TFkeBg+fGCTk*V9bAxgJd+9bH+EmSz_3dGu;{S^C@DpI za0R8*kh|Px^Sl4vVj$ci`1K-~YNavN3ZkeJMo5vZuoP(2s1M1w)f-{W{WT5#HkRGW zc0zGxzk+)g?BuN+ujBOeS(#l!V7{JiquP8Hf~U99=hY!>?-JSQ+-e?_SJTqsJk0V; zbmF0Qn9#P!brFJ0byKK16{@ea3_KUB!!(wl%uz}+IZ-NCzS%^wP%qtys&j0FqCHdV zwGSfO^k#lbt$Z)$n}Y{qZp`e%p5^|5Nz0a-NNJp+*9Piy3LmK?<@~2s6tpp9hd=MAW*8_Kq8N?+QugQPTd z+Zc!r=~+Rot5#P#?!9Ty9L3PVsiK(Ss`3%J@UEbHMGU_j)T|XfP)(QAoyJIAPJ6j+ zz#;xHldd!A;fS56+Sj+OofLJ3ALNL9yb~4LLuaOi{jVd%I(~rD+l=)Ke8h|Wr}R<= zoLIft7%YZ@RLHtnjC*Aqftlv{BFs`b2BHfi^n!luTN1fV<7}a88Q*KE`zz z{-7~Zr0t=c`$P@%5%9MtBWzeaB3n?9+ng=aPBSpI@*jJN>@S7`x2l~VG}}Bs?O512 zy^E&XpqPlHHf=s^3_WXIY6$`35#QMXC=G!u5b346(v;(kETZ8vuV|s|RS9;sHgB}F z_0HPsKC8IkQ>OwNY2%Cg_Ufk&kP%KUEnVZk=J5MV532wxy746Fo8>L_8k?foHyrBo zSTjMhoHxOqg|Bs9r?`k$#GVbgX{-!8>9X0413v7uD8GU2Jf&_k0q8%x1IuyNJDZz& z^c3|93>B+#H@@&MNM)qJB#v32i&yb#>9v-lkEJZevXy5m zRiEP3%WHP9?H-=*n5E#;!%*^gBI}wL=Rx08qIL|3BB>liOVUFXj7ASh=_Qs-_tE)f zv|Y~O&@44pB>%+tqB5#?Yo-&p$c{J!bC3wZexX81w zrX!mONiw+?SN>Fwsw?w8IoH%X^AN}+oQt;xg<@v$VMG_!t zpm*n{QU+q>5+h$k@C{PEf0j;H*uhoj>i0ZT8F_&qARd(-YJUj99m~W{Dbi!@XD$ea zPIP70)$dfARYffKcf_*q1%GG;Q8-_s!)mt`WNLh3Xb`Vyr?;FQPtxXLfMVEh21`&2 z7ot|k+cE6@f&!R!OGOJcDXFs+b`z_4ya@N^&X5+}b)sVaHfKr9$Cs`65*%}KmH%jp z3x21I19zgrDv(iz+Y2enC3vlTmj^DHy;qfbqzEjZdI&J|mEgJ|A=-h9Z;m~aUQfDs z62^zVkFq=iuqH~9Tdp7!iJiE6Qjjat4(y|cfp_p14Dt&0J@O^a=Y^WkSxk@3o&e@6 z%UxhgC-SFLm8YBuQM69wYVI0MuUz<*$}%!P#mJUTGS#WpN>~6iT11%3@lPGdJ+6|A zbw9;NY>OyJ>gUJ78!-b~xpm#Pj}YSME}O)*TIJiH!M0~xgwM6n1uriuz6>7W0p zqa%C~p(M?YO=lg#k)p`~x|KnkueV&_hVfW%VHrTmSua%MUCRWMlNS+sffoYyv=tD3 zlS#WT(`dP&}_0P^G&~qUpHcwWEt;P6IaAZ;% znT7&j%i@cGqX6EEiZe5YhXo4bwpnR7Iz~V)k2yuPtE1_yk6v1%673DzgODqN{~?j7 zS8QB-&D$oNVmyb!P~%xB?r^;7IEkZub<8!E??Jetkc8+fRZ@e1?gFr%Hh)I~YhQgV zl-!dqoSD~KNHLgm%9AZ8ngC@I+&Eo0q@}H(+yPynT!73SDrUm|fm^F4&4uFwUo(8z zOu@sE1Lo@W*ma*b;u^$Yvj0YGEXIc*dS7D-=@$FP*_XZ6U)b+;_7>qX>j^l znb+iCzASkVAdwFsf?+1+h=VdZKPN_b^LnzTk@?6o?E0kX)KPqLp*StVw(`YhNpDy%r==YOra)5B&qxUHfr#Py#9k;e`?KM%To|}ZmRfUi*H$ydjrRd+D*(K^zJIhE(0j)d`5F`6z9 zw-S=rY=~LF9K2@}sQKlsuNNvDn|IS(PhC*s}pPRt)ej z1__nU%@LR_m*oK@wQ0mvI5DF=;T^+B9-qxdZ9|HE)2Rz94SE1kSrjp7Clxaai}VVC z>+{q!U*&_%$qlUf(T$8C()&?U*6d|3la}3%5vs5;+O^bdgMX+i#U|Bxfgj%1O0xpSr7fFrWltOGXu;=Unp%;>ANz6$etkDdOK@g z^N$z0ni(rZDxyrII|f68V!91M%eKQ}PUVD)34g8u1i0$hvghXp?p;_nLerHl92^$T zf5mEiqiVllxE7cJ6cSR4f5lfVB!*Mau-s{zX2QJ_sE=kUx?r*`Ibtv{=nNa3rVUF{ z%EpK~{rE?iqoCLsL?AUqIzI-uRmDJ;k%v@5oGN%K!#Tsz<>!hQXOJuj3>SJ6(nzkv zftp*$9HR`>pWYN#{1pQz(jNJTIA!9`Dv5oKxdd2h&vqnRd*g;NkW>r~Q61(F-x&E@ zmfk&13gA)GA^mWx&VGKgc&kg)%+u?yT&5R}->?hDte!wJHC!@Y!MnjTEgAlm|6~7V z$)*vsktWdNUbKvN#8K2hL*+kGt**RiwGj{*%4vFQ91yr%(8#xHvd`Q{LeACv*FqL zxr0z9Ce{{#OX!ZDkwf85>=MK9UO zDqT9@iqTELtWu=FWWV&srVB06!WP4|*+cAOGL+R}76Ca^Z^94bSesKz<)uj6Q8hixY9G zHf@}@UygA>lf8Iw#EE1F9oNVvC^CgifaqGC7PI${J2MvEi+CoW2Uu8uVhL7rYR?(d zbr|Sl;k5I<(cA;*Bt8E^ za}iLMQB46d#L_vB{Fe+)CWZ$39;xWBX7l;khqYefA7WiZ-rn$i{Lum`%Gq7NF9Pm> z0VyH|k;c|ID8_^~iY9zL8v#Rwi^$@x>>v6^D<47EV1h4h#IoWf`)FuU)@-@&TZ!2w zgTzq7AVWk@*Xt3mpr*}swi@tc^ZAg^m;+ z@b>`71BQ(Jsy>dR6ijoeQibH=IqA{0lgw^&bMVAME?6o?=CSB^bz{V<5z1~xwPkp!whhAfM%-6yaJWw2(n1}U@CA5o3jge_rMY3MJPpAt4`qEE>c0XbOvX?pk_18T z>a1KTo7yn`N`M{QRqmDQqx`%$s$5DVApA}1j&ysivcAP9t; zRxP)<)aBjoUk}thg|^J8%Ov9m@w+ys(?buAnCHOa+a{7)4_${rOfrW%_c&Gg+bqY8cgw8xibT2`&W1DFFqV4|B)KfSM#Cshg7xok z8~(%t5@{ymR0beam0Z`@*B-M84SHrWt<5JoMPaLlx7U7*^2k}AFbsxVhjz7ovcx%w$+N$kF114! z^F#c~GyKHt?GOboQ`XAiMhQNLe1zD8v!>3~V7j3o+T+`h^ZQ8cTuH|c{##;aY~3fC z$eN~y%QQg_3W={Tj_*wsUNaWLo$FP?8i7oYtJMiiA5`c``#qG4t{P&ABi3K`L2q@V zlRu8vt@5c0nqB_!zpxhohWqh&)j^5j(v`@ky2a6R(sO!8#xvC*q%Nql3At-Zs5^Fk zRHNV79#<=`j07FHs%B}^j37!Q1Xl!$V-c2KuDKT=*{j;g4t0lpp|V>($ga$Az2}yz zh4k!fC<5yg<1qrKPYCK7hA9v%Dykm({)^e^RLw*VU;U~Zx$bQc!tx~2D4akcu$FL% zj5>+hxo$E=lS=%PkEu{UNkgSiY1nMX_}RIT{9OHuOwFP}7c-P$$_K6*pQs1g!U_NRj!nO&~|vO5&%xovfjR|nWPH{#U2VPH~ zx)3MBCLWwqvpEyGC+S(R*#*0N}%Hnt)PoG#v2oXjymr|{QdEva6<%_7-YIiNgnEx+q=Zq#A_DNc88wd5zFWm zdg+yiGG?l^+R&AK4Ub7D``K`p$sO^JZjl;2NDQxDB?L0hahW6|voF_nFV%HB5n%># zq7^+R@K--MikBl7RQ7D13{}p=aEag%7FK-!>;p3x5{{X=H7ECro5bxaP(YBMrF@Ot*ds6U=oh-a!3z6kLt&*zwr zPgSHr1?)VGke>&jYsCWTMDP7<;dyfLezQCUuhf(5>=x7RB*h8UYcuUO%Jo{PF)fvx zoltd^lkcI3bYtF?Nw!F}qz6y1UY5p6=?Hu{12idA)VJE-&1&S2n^_HhlxH>aC(d3V zQlfA;9v4o8$Qlrx&0a|WV5V&F%ClV^HeGT#X0*WJeGFrhdS$jXrccLO9r$r&>?SyH z2gcWvz3J1+q$VaS3@1azai-qpZI;;e?Yj|K7*6YQhO;jIVb>URrGDqzVv6x7WxW;LpN2f2>ii+cm6a z^*Bj~IX3%xjK}l-=-?Yk#VXf!6Q<}t`LLgfNnb3(W*E1B@FsXXz9bb6@bZ_lW$iiA zpJVt@@uT1I@3Xvk5Kggh!1#nxAR8+K{vmHTY-L9tjux=3Y?Z`EFOM++D@YzwiZ_+- z1A|MnN)cQIDh;^97C4-cTOE!-z9wMv)FM*R>7Qwdih+nBwU&(d0+5Pl3Q}Osh8k{ei zx3-4U$JV?Ik+YoJPtTI~J0I%F`(6BJ5C3`k!6^MGLsS`P)67Zm$&{}mS^_{_=Mqv< zP|R2?EAYV3p1>=0B~9I^6j!^4eHOH>xLVyHtE?;Bt!n;@RclunMWVM3XO>?Svf&b1 zJ$BTU3U|P@eP6eZTiphhiWu~dPN*0cv@MU{z<;sPVm3%Zny<9=cCgO)$5mpMtn3S1 zY3^8;STGBgQ@9$2)pWS^Jx75v*y7)uK*~9>d|AS*0<-*W_Y~a)Yl=@u+3H&~ZK9w~n zwA|p?9JX*?r@dCyL%@La9>8<;g2irO64C@a{MGz+k9}bD1>Y2G2zKRf3O;d+>Y3^S z<4dz6bzmmssLV6zm0HQZ_|4>@V=byUUE2FCRnpcfZdXCwyWZt>8}0)V8JKV#3J4w2 z1S~ehKQH9ZJ$cKM_mE(4cXp>d9yH}EX<@>8H3zS|ozs)x@kJ6ZX6#HzyrG~;{M|>C z^tJ?5YU?rvUYLGN#hzV#4UkSV4F^LR*C;1Bhv6n^WbrH^Y23*vaur8%f z%c3Jf>D~uirS*<4mJk7&K9PY86)>YXlz>L~gS4P<*On6jvsD$sK=v$Y3+S0l?e6`` zZtx%2;eRyP6gego<0?rgpmQg5O*Z^-c!7pP+9Hf8+x_-wRf@OVd)^|aG`aVFr!zQg zbYBCm1Gy#dE}zE_KmGL6b21f8;~O%HaA|Nf4kYs+goRv_QA&wZ@E8MPQnD-r7$7?i zD(KKg5E+fCtXW96sZaSpdV{9?0XL~xC4^(|$X3a&IGPIG&G{tV9fYI7G#c;eYk!CN zDaG&dF5BwR^-OT&z4!X`xOaMj$KE;^vWcWAzJc9oW8DQ?*m$3n{FLub;{(N6p8|5M9$cD|Q)=#n$6} z2@C;!X%tti$->Mrm8!$~c%xg~5>)iVuYo;|8i$9Srm`7j(D1bnC%EV7xO-7^w1c&P z_reKsai>Wkh5umODu+jI6*`$frsYRSEk|1pUXn|bK~HE^C0@uPIJaV8s@JkDiL=sZ zzM$~GnhAeCM~|f8SSyXP`dmJv%-`m=qjefHXOboxM?E2VR*|FS#+=)WaPchIbdJX? zog>ke190sBKZLg}S%5l7$Qa>gWCEi(Zc$7wKtpmv!jDr5XvfV>o$*P;G5KIg!g2oE z^Zs%ampM5HebXOgWSo+ux+lFKiliT`4()&))c~ONGLGcf14?2kMs;)t!8+FL7BIgJ zE&_XtFALc-8Lo!3) z-agKWxbEAFrEk-vZ(sgV+~!L^unP7wE@$rvcHFgD7;@KSVaZ*Kg(-Ip#WJ+6=Ke0i zcanH6H{iY+^xvJdN_~bMm)YP2+*}Z@llRdFmG?54O{Vw`6(G~aH7Ad$;FD^h(x0Kp z$?mhqvU?V`stVz|o7De)27cES{_We})sy(a{p!aX@eF-DzOdN4y#{DfGHL0Mwh!=$ z_>t$G9v)qbW5?Q3u|JoatXQ>uHLa_0i|Y^0j2g-)uC;fXs6lmCTF1lgq82p)@_oa# zPtXCaHr;%-c{N?x8zo0OfoKk(>k=Qx@rqRp$RBQOyy5Nvv40pS`D`AejA(&xZKj1v zvX~bCO!uZ0YAa4I$QztZ_s*he#eF*4tb5?RJZXAfs}`6uxers36?V$Gg{9OPU4oy> zx9@j}g9w_~V;|=Ep%%Q~bDkZ;@EWbCjxbUJ#TvqVyxW+AjIBD8A6T!AR^6tbpmXUVn3xWGf+&jF)_z< zb8b1(8^gQ>a|tXXi#KENC65)lWwYTZ3?w}o%xk-ZIb$2TnHrE6skvdufV3d$wo2TE zi{pN-vj+(ywvSrriI6Qi(d_M`#|>s=qhGeRe3OM+3>V8{V$}t8S`d4U+Xm|}z?zN+ zui7WQ0ZN~5)p~)g4k)gpjg%n#Y`UpXaZpn$er@gVdd}D5Z=M@x&&%Pi5#TdDo>I9g z)1fK+>qT*3!uMil=#~2NoT|UHFM^rcG~e=71R|TeDL?D(Ry?1c$JIv~!L;@>CrqMq zwZF196rl<2==f>nxP35ytsL+cGCW{%T>+}f40v9+#Q&eYw{L6X*z!fszwjwKp6A4p zEii9(9J8H0LI_*efEY<6@%ZG?2&nKU={OH)}#EVWI%t&P|; zO%h#XfJ01sv;OWf!0zx+kn;PWw2P3mb$fuLX1J{P^&V1{d#8qP4852$%1dT`D* z_LzF)L^Dh=1B*Se7G6F;6t-z|vgm+T&AaEO-WOl;Wq?+`;e~+w>&*wm)a48ARFylo zUU0=LO!R;8#iP!bUc8}u@rLH&-Sp1TktdAsS%1mg`AHg$Q2sbIPEbL5eICT3pdIXHP zpS2iWXadSP;JjpkAsfzMP9AnT6Smtj+fK#{qV?QnH)z7ud}#L)Ain4F40`^eCK4Et9Z{K)nzi=1ZkG40V)iqInk`4b8Aci-=ae4&b@ zD#okEyuiNKh@U&LzzW>Bd`xdI3>0yj=_a!evqi1nv<{xGuf4%vbi$(dP$=+`O0{>H z+I(G>`re@5uAd+?omYQE%M3eDmU5*PRHLsI;{MbZE-rDmxo5h<)Lo^h;2@ByFl!3D zv$glUf>rwa-<2^~o~LkmMnXPBt9s599xRN2A!S@%ev>BISZS)`p;`#O=edFe?_0!rfn`*&l45Tr|H4zr) zwAqfF_8VVLo2_FcX+fR$AGTDOlk?Io^rWG~;tw^Yku|V61ZwYw<33B=!LI+pIjVl! z`gBx3I{Mu^(P=8owiBl%6Xf}uK$0t^`P1Yv0+K5aAMf~Pr$w|Q0qq_>4bY7DT}S}Z zgVB0>2E)1^tH1=ZFf|5p+4Vs!565fg+92~vSB|l zM1qB7Bf417g;hwGFj7vy#wkQgC8S}+mvCBAL3hZ_8m>b-kH{$HvL6_~Be^{!=C%p= zj);CX`5EhHi000w9qlEW1`Vjs&78&=4(CX*VOq>4iasS1N)ka&2Et}^S8;$$XLL6D zlTn%%ZGud;h&po3g_^1ZTq6+{PQDdRZ72!ZOsJ2G+pDWP8%Qet1kRl!Xt1PPqJL;& z!-4Htf!Hunnyf@~gJ`4{J36CWMwtpj;z4#U3d^dQFWn2+Y91dSKoCOLP=iv@f=otY z9mez48Mx;D-;@e(v*(3U9G`#6;oK4|e*@3xqeBAr&W|GzNjZ$k+4v^u?1WF^l6jhrRx6b27Vn zva_|d`(*3s&XY2m*-eIX(Q4{CnC5!oRS=74G!HK5SeVtC%zDIUJ%~0o5UE8H_I@;U zf#k;g5Yuh8381DUx>$3ho9ItwnuS|a7dS!VQNcjCA&!XHM?{WiTYv%jMsCj`f}~BR z@oaR5dvQbart?gULp-&OZNHftOl?2Th+Einn7ISsvNs$dVbjs?PU<7tTgWjp$?z4F@3iK3qG zHupBa+uSajiGd#mk3H-1e2v+1wBSJzxf|ceP+sgGqUTy;J6uEVrhWCHa_LT!_?B2t zu|}Id-l;^xjUAIp1X-qSzId+A^&|ki*pqS+=E;l>H>Z3;5?Eb*-M=i8zrHM01nT*0 z&@RG8Zv0@qU$l)pImQt!3{=Vtv11qvmTe@lC4x+R&n2$PE25vWGKlc-wL^0K_F0rGfjB!qIBwJy5?TS<&WxfdCAEex zg?7s7b!57*9zW(|WKBHic}GCtS(@()IM2xh`$d6YgF30|!EwFYX_~i(76DXyyU?i9 z<7)Em(0?{Jw#4Po-5r&eyz~Z~62FkHz@Bb6-nkg#WTwJxwu`yFSS3i&lDGM^P`=0H zH_Zmopl;QPi%9OqV9?YM~!UMX1jVeUUTXbZaosh zkR2J;pNi?e9Lb3+EhlxsXM@t-&n}+IgVlxJP(I8!P%aliLd&*wT?ql0DS$OG49fbw z`D7MoG`(RyUn3u*hj6qoX;U%;S`!P=Le^ zFmr_L#2~$i(i}}bV&0F47{8o*tO34?7_5{Tm&t7&(YMcC=O~R#aKF{IwB5Z=h2V_r zBLB&Ug+)e!#|pm> z^D(jtzx&^VU#w-DjHqH&I-A5mCX;b0wX_9bcZD4Dpi@zVqL*qf7x@j0iU>zD9pfr# z9P^7F9Akc^sVBY#FQAb2PK2h7h3G694mfamPdQ<|3&L|Dr>3i`JOtcI$oP>;;ORMJ6#4knmiiabTI4yhuzI4?7b%P3}t zXe?Fj2=N+Kz6F7ovq4Q=S?oi~UfIq&@Mlf~V-$7LGF`?W`yAyLHMQBd%ld5zggA!$ zOS$qbsOUdysd$+lzhugN|G($bm3VPh(DzWS)igdPx(t4P9la0JSzkf*qj0`d`=el1 zQ~;R-#2h!*h?6ImDI7_9pI72&@#pJtQW&MPcy`^JCXRev6Tl^imW`%>Cn9f?Qs7NI zqg|LJx&UPh?uq`kSmo;}h`s`iozVsroM{O?l;?1*{jtyF{+R+7#_r6%rwn%b6zPou z)zVK_3-4Zc9!Ufc^|vc%V`(9-{WptXAdcytwHl|i8r5S(4Ure5!yPb-4P3xo>D>4> z8VAgUZ7Sh0R;;t775yre`xD*u!33HqOL(x5tQ;Zlg-g;7k#?5TfYY717{xb|1EV*E z;$>4ShGZ2C&mm-_rpjv_IfwI?BLU(=?~BCN?rSR+QV5_#Gy(W+mi`*28JIv6$FK|A zR(Vi#IgCdGc0@PQ9vkit24{3f=O)N-I1HdEu!eLRBhm2Q5C{#49HkCyDaf~z}FsfITx|(wEz+ploLCJ<= z(P(;Ea5Fm<+Mc!FcrH&K+2qHL+k&zWbFuj=vUIA~JS!))_|aTqIrW0m6JpZLBq$Bz zZ9(pY)d$f>Vx)M%9+?0ztnyt z=V?Pa;eu!cvM*7oe9k5DG;i)X6KX3u<9T2j$ShCPntreO2c5glsRGiNq-!SN;8NY! zz0EroMBI$B`mZRBELrlba$mAj0pv^cg%6YSzD;Aq6g8{s1_m?Vd|&}9#Cpxs#D>C1 z3?`nfkDMeK^&?mM10*F0lo$m&7$-5cInNJKhZjVA5=EG9uzJsP(5a!VE>5rUr?`JR zj|ZF4Pt=uCusWEuZf`J%2NL$;7D?|oh!qSX7%sX2@L@$dutPv%e~jm@3eWJWK| zfZrEJ%m{pVL(|9kR`qMcjs|%lFQ7 z^h7swsfreL?#Z8}!s48cnWyJynE^d>bnz(-Eom_a;zW38B}D?^XmFW>s;`aUoh13niAR>R;BW`?_`C9x=atN1aOgPC;NhaD6L&6>4*xY9CVd= z*y|zN5-n4ml*xg*g0V>&Hp!zfy|_u4yXM7d^2-pbXfi{xxb98zj(|u8wl-T{Jlc7@ z_lw^M=vFGLIAp8BFw%5M!kFV5bWH~Ra%YHuKOERz8i#Z~8y%MSKHmOCoMaZ#8>q07 z6UKetY#~QfT1<5GNwrgZ?V?MaPX@aWqaUKsY`%Ob#nS6V<4Gj=l!gkiE>vIVrM6TX zW{jA2;uu;xSTHWbLcxYPj;?NdM2F824i@9tfD!R<%Whp zQhK!XI(|7(TAT?Xf1Yg8ce_LxVubb;aoJ|^h<8xm{wv~i#%ZuNFmjh{;H+lNUwZKD zvYj?N-J|CDsj8eD#9^bUIMtUP(Y_o}%!s$q#qv7#6z{#w~8a$=wySU*OW39Di%thcREE*CA^ZSeya)JOZ2JNlYl5m1L&~Ozq zNaK&Rq}%_Jm0qrL`W&58vC=7X$LwWJ9|9p*n26CoUxYCE>TiHSp8#wvRtin$i)p?z zLbgZq`604Fb-`1hYonigq>?SOVYGO3<|{on<5gYH?kkvt-x&g78;WL;O@10)S%XCK_BG)|ZE?NsNse>3$4BBZ{F(#_FTj)0_Nd>uSNYm#wUOIWWjuB6kqoWksasHp$~N4`3FRnI#!bu7=|<_V?TW@i-}f z`Af@~L@c*OKuRlS@lY5>x%{`!l;zwri`De8b=+QCpr)mn zvr++$$pK-2@gDFZeTcT(kM&VO{RPaZv5wKTe7C#v3pHVJlAJcN0)XiN;jvvf-Hi>Y zlaI#Iv)pKB-n*(qo&Kno2t~$qI&PW>NEMNy!WF|hI#Qtk8LF=pEROze&$zVGSnycf z@AuR)^Zf#Ss8q}aez0VD4(itSicq(c_Rbynm)Avp=FI%eC<>E47noFH0 zY^)_K6{SXG3Go*s)u2#C+LbQ(M|8}!Z?*e#XFo^b%+Vhvl(fm5aJ#OV(go+ zyjz<&W29-uq92XfLP>*(4Cib>Ke?HX;(0u}i`e88Jj`ukJz7IEU=s^f)QAQOLC=kE zYW~zO)u!1~l4^Hy3ahFW20*fC@c`jh6vSWna91mvZEGJ&33pxqsdO==tlfEHM8k?6Jpw-cIq zHi=5lu7}O~^V!I`FdN(QKc`NM@MK-gP%F`n%H0uvT<($4+8Ipjd}KN2mEjq(qI3Ud z=H5~Dg!Hf|M=^@$wqwYNXW|){_MOu;XbDcw64mWzS=AcZidq!fShYUI2|`4pUqP~U zujs7A{zTsp|1%`aQt~{>+0Y+t+Wsjk zA*VM(Ond2ees{*Jl&UUb*O=tA1F<&gMQt3tHIs1~&tgP@QxKA=UXl^HYv87|k@H4- z(Rg+07@xUP+WOCDbRAMN4>}aiLMQL#Uopn_R`b}V!>q+5mGxfuK|&;EF@z} zeSq@6m`&b8y8*TVW?4Nk_a`O>e3j=Q!O(>fVl%Bos(|g`OfK=KULQtV&-N8) zOb5y@JMfRhOcI%B3|!b;fC01K^X1EDd*YH}P3>O3L^h4#p!;f)%v-yA+gsi5_k@P_ zv$y1`?Q9YM7+F(m0?i8>t!oZB`o5-@{+^Mt`FR>%5x?q1%%)Gnfs;OLVd@D!atgzS zF{0A+DPi=Z6Mo(SwKuP3vTbc%?29nX2woIT7<0RGN+R1j|He)EtU!y#v! z`|aclxOX}?ex=hrk^CS?E@3H9)L2;*mm8}g7Y`e+>g~>FjWU{4*`zf2P9Z| zU2VTM&aI0we6Vep3BkVc(neqR#pYv;*kiQ)Z9u1*!Km ztK1LKuacv8?EcC!fcqll>=CosMT&d-q{G2v`1V$>YX|u?1#cT1mH7mH>t02F60BzMT_gl90 zl%YZR^i@6bnbf&f63WjEm)|VtwOW$7vDpfYl zPmtvhRpw!Rz-(B$ zBWXCL|2=qMY$bjNtD~uM2A^JT?bCn%MjR3Sc>LG^cILLbK_$PuoW8>k2ZBSfnNx|U z%C@W!_g9S1jQ~6#DE6lNt7r{U>U`1pTJeAxd2iwI%2VoV=?Pm~ncggbl`P}f{NR}b(C${ano*5Lf5 z(YG(7|Cb45q$_QA-_+}8sQ_PPfWd@fdMJEZwP6xeoT+x^1sPBr;bR~H%H%zApkRR| zn!8AUKjmb}OvjHZaC3)(3zFlY!f;x7^pE|V3>uO-FIAbFrR;O$!$HxoBNYa`-X{^9 zBazn1(%`j1>FP^Ix|-LgSR#*eI7kd|zVdKJ6otM@HKB?!F~t{Fgj%QDIAZ?*sIM@` zRb76aJEc!JgE%BC4;$N7oi6=pH;}SnnQLI+1rmYSe3V4JUi_ILE=hD4|1HGdg&9Rl~)9_M#w^M`mH#XU)^Y?oW-*Yfp%N+%Te!rPA)e5-k?G zJ6g5R74np9M^URDxv&vgrlhjNQ139DvRX4< zONEw3kH`JTyHH#6B*HwDFLb)+pc#h-1zRDe{U4IG?$gV`&X6~>#KvIXx`Y07Pk;aX z*0NQ|0w+8WyDWVD$Kz2@BlRaPiV9@R`JUb;*GQ=N>2q-Q%0UjW1BT+D1M+h8c-O-s z=CVm5NXyFnwr+Fn*f>#ac(uhCJ5da6tS&OCcFa?lQww}iyz>0wLl2jJZ0ob-1tiNo zMMu5ih@T+L4R%~GG5IK&MTQ(oG9Sjo+TX4Ga7X{Qyxgagkj+gpi3Xe`KI$X#&;a2M zCbL13OC^@0f01KHQuuNEuC(uJ`%)6Tq^rmYvug6;OO7fjTfoEsJv+lOOm*KEI@MB_ zPOILiH@nevvUWFTadJCScZ@GOuFFrW`_u>R43Fm~$kbkkr+(7ks<(jw)({ zko{&K-{g9DIWNgdxs|*{5R+5y)4nKWe}d$ii8}EZ&uC98Y;(xFB2ijo~07*J1U!zEB|cE~Pi+ zlQrN@H<{=p$(*kZg!$_x`_9{uZt|o@6)%3!J z32*P8>{g=~XXWTb-_(EZtRpQ^%(;eWovp36#3m>9f?kYqjDRz}*-&y@`8CTJj(?J= zR0}o4xi2;Y1H1-ol~0=5fL!ND~=xB^!nBjBq&bek6q?8G$;(cE%e{+ zC7ogURoOGsJ79}Lh!@}BT5I}|Gb43!d3{o?@!!|_0RUNmJ-6vLG-{yni}44#TG9+y zm#`-H-S)FzOf*7?-zVF~A#k7~cB9|e`6A)K&YXV<7hW3nNI>tn{r@dRM?A3y1b*|Wz4At*lnANcG4mVRUSRo)^y!U zc;-wm5J?X|uxD;*_#s!_Y`M*Rf%*u8enB_ry~H;v(Knz8IHJ%BXcGls0dmV54T)3& zb}MiCH`&W?UvlC$v8HI}nUl1~BD8`;K9ae^l$;#0Wf3ydTVoREP^_;WH)^F!_NVoq z{Ab4?K!jiOx0LS*Y)Kgon~Lq`p9GUGNR@HsWzf&p<~vi&HjFH4u^Fh)IUM{u{)8~q z@R>7#PSj0qT_U#4g`}oJo+IZCWF+-*n8fTQXMAo3io&HK`^iju%yz-~cHQ09Ifo9I z6Px^LZt^3s1ImSCyScC)f}@ycsuCeX0oKBrBSpLfm1w(cO-YnyD?kVtj9|#HOw7A{ z`bG4-{VY|M*2kI52N(qkdU4X--g!<#@0ZGg+H|zJNpf8d9DrO4sKncAVan9<&8~?~ zk#^h93~ZaSv4ZCO# zhe>y88uy9!P!$Xq_L~$%L?sSzY(h)ku^|LJA`vI}7B7}$BjWBQ8nQzsCc?*$z^eBW zp$w!shp`{dY(;gO9PNyORj%on|2^7@UU(6;FfpROD^dD}^L_QuXyCf;=*?>~kzEe!HD>|ZH@ z)PApR$JeH3i$85Y*R~@bl_AVo7Wpw^PAE$4h0 zH}WWFA%QUD)n1%cUM70j7?aTf-z}kojcAV#GN`5#|G`O5E*st>aF4Xu-jXJfbKz|h znT@82pvg*d1)999jfs0_c~G;lA+9yUl6m~A+_n-d}GwN$*No? zbJ6WiwR7GsW-<4_Cedif2u|@6A{HHrFDgy?$uyE|)QQ)|FVL3S?s2BLyehR8JqM*_ z9~S_DsCN2AwAZS{mn-d-9np2a3ETs|FyWDczLv*;Tg!P6Hw?F1XP#1pW%t@hyQ2Hj zthLY5bzauD({HaozwM1OP1ENf&_4LlpuYQDVnS2J8@W&;AX1$3`KSj#+Gm{kNG`^Y;9nBZes*`No;;1oS zXVyql$~)j_XE^=(I7)E2ZA3cH2r8|gGk%&t@-4A1saV3PY4&oBwPu}U!=_HE45?{u z98CbO(l|`g&e7ZlQAG}h%vd8ex)GsM<#;R-n6VO6ZbBfV7x_lTs_Cp~f>(q}V{5|@ z)?HwGy1YNCt9sRRKeD|`^SslgFSMo5>EiHsr2FspHPmvzXU(;oq61rW;ti9&KHVm) zz_GMtrD%8VMw1?sw>Q1HWXF`Nl(p@$gLkdFa4gN60^SRoFpDooNVN3vI%WY;jh!EB z%*M5eo~9!Sy;VH65#QHsylr|e?17au@P!_f!t0foh`xX_nhx~32pH0{dP$czxsC_r z&D@6H*C%t?ejn72nyot2$hCHOt0fBS-=dv#Eg^q0Nv|#@gFCV1qUroV@17tyzA;S0 zEOWx-?dUk0I+{%06M*6S_yw;_6y4I+Jx_1ve*W`2Tlh<+)Vs&|f_F{@X$rql0}Mpt zyRBbTOO$?wtmlWwLEGNi5P%dYgK%4JhrqcF0Q{Sm#n4%q=U;rroADqoZMA(EP1iR? zZC5@O(ye2_2_wsM+?fcllvd?PYAUqa2DQVGMyu?Pw!?!WIrj@ z%F*`s-#^`;|2&WCvtd7aOGMUHREm3d|H@}4nOx2{`x8P{gk!77$BUK;KX5a8EH~*p zir9)}+Uvh(DkwodUyx(I*@)rj*X3PY+~KBxjdL*Qy*848WWw^P3FNV$8AKCwO0;CZ zH>KB#hQMI#2uH(&Xb*B?0IRZ=%1);TO$_!DR`P{Nqd*i0P3GZ4%}S$FZ5W zUHVq+Z8}z(=y_)C~^CMDGtS@kazgkzw&lP$$z-?=CYFI&kC3 z$5A}EVvPPmTRf2GLvEZwMszQjdZF_^y{0Q@da>C5;!c|{c}X5uYvNw#&>xlXu$V+^09EE5c~8=A z@3|3yrC);1AJ}L2b)y}%n@63Ws;zoNzZ19dW8<)X7#+Ng>a9jCdfPldeHH!3e^lF4 z{P1B^Jw0S%!$>l{_1vudl;sGT2I zThZBh>#W&kXqd%eqg^|$Hcsk?^rkjWspF{rWBs%fwOGuP~a>2T>m0s(dBUv)R_`3NMEes8|O05rhjhm-DXIi6X z>n-47J$MT$(NC}I^u2{8*_niCa^_69_yp&y{k+siKQOhf64wvRN!6I`_LPXdKaTKm$*Fd4jM2hmyv`DBnfqi z_-H`Kakxo@UaktOh3}{)z|n&Q9WurRy(m$gNLN0Vhr=7GP63VH2{JILSYMrlVU>=3WXi`yiQ7L@GSY=Y>vH1P$@$$wM2=JQCKuTNBL zMmm`PK17c5zI`5%V<@Bysq+=69ffS4#FeO>`@FG(_(MFJOjA}XbJi8ir4CDvg{jn; zOh)gAbRkOD^ZE3}lP4cPe%w^~&*o%y^@N{hB}Z_RU^tOP4>Ii^@D4r5bp1ePt4N1Q zpZP?`6B8LTOPJ-Lx!p`S6g$r`5d;Ra6``btE=7@EF#0#04RPs|%HaFOmK2+uYc~JA z5=}>OFNxV8t7q3n=SzJ2EdEz#^5zIU-NcNRj_sy*XXXk79j6QOz#j7%*RtP1j>WxM zs^yX8H8BCb`I$M}*%&S{i`;b7&w{uDZ-~e~2=ycrw&u*@40|NC%m2cIx%^x%q!{r8 z+iqLU|A)vWpLE0<4=74H;^F?UB_07q>Bm)x$Ls`~41~z70%CGCN|I@n6^O|qN)qkw zNlbc_B$IIewZtSZ0n?M8NlXd{kfkT@O-wQY8loq2#N=0^rBV^?y?JbhxdxPwq&6ym zUBEW-W-b&2DkZrdMThY6Wje@=q!lNG)1+n^OI5C*g5 zEj62rdt=Zfjd6c7P%K z+hV8*#%yvq9L4YwFhB|bEN;vLgr1X-A}rh(;}GI}1c>5p2P=Vi!0@`-(pZ%2udmzS zHU*H%4k!nLF?vhjJQ6$`zuN<0etu2;Pe}hq@9o!A|1H-4?QZXGf47~{|2_R~Z~HI( z-=FbM^?$tQf2sfeQvdy>{`*V)_m}$bFZJJF>c79#e}Ad}{!;(_rT+U%{r5jh{rBBp z>c79#e}Ad}{!;(_rT+U%{r8vp?=SV=U+TZ*wABAh_1_;rNfH6M6SZ&0(aEqsno@EvTFNKoD zEcllC?g-u9EAD3C1ZF`nMw04pX(q@DSLv-X<@QR!?J zZ?q-)+#94WbF+v7k~t$KIDxm0YSG@#ci(eVI-Qak`{^W__BaKlPKpUmA#im=tW14E z&uaV$QKk}_82dR79C3GGu?$c|$`jAzK^!A!5Z(AOT5}vB^?PRVy+W^Gy(E^9E<~Kn zCq&$gDt3H`W93Yvmn63{XxK#+Vrg;$B;05+VX_#uI_q{f_0|rc<*LI|2lb`S_TKjPoi}DrfZ;Rag8e6pMW~1&3v=DWETZ9c4`^^ea_X zY31LH@;dHLlAX=#AA-SBYt56hKpT2drf5=}t?Z!D479r#P8K&itP_2SxG0CAQiT2u zK>b9YJ+Qgq@@vdha%HUS3l~WMoQ065@lCibLZ9iPW{cjl+BnoG>0J^!AU2|)`0nPK z3KO$gs~N;d6ceH^toTc#tAL}Zwof;=)9|T!6>U`0u|$l(@A6vys35kYjYtE#8n8H; zrg)o*djpZ&&;_3Y0J#Z)}8fR@P#E%F0p}#-+ccK#>;Ku`m@46jhQND5B+%;3RCsljJRV~z5 zs>Ul+m6}{JQ!_sRP_!5Uem=+*$66eRi?vh=^Xow85bHoc@=N&s@bwIZ^n<4}o`?;h zE4VRIn}TUl+kt=>d;y3^K*&;k4v6|84hnt*X31Gz@Q-TX_du0;O_zdyDX0*e3UNUN zQywa|T&XB1ra*Tz3dA1f-Bg=%6-2_aO9VQ8e7}Z1O26-Mx+%2 z#kBnXNW%LeEAB3M%7I|9LMtT)y{rv%K)et;65<%>sTNd6i zbDrfmXU2kWG#V)ijYk_-3t;O`7i_dWD|A@GXC-qIL_VFXC3nT!8kYma2Gj#vvnyr0 z!9pStv7EKQu_6kTi+1uwAor;ZKLW$7*AFpH`jIabUnO2j{1U9N!!NY_609Jl!J_V~ z+KCj?FZmj^>Ph|hxKYIz9yos#*Ti5RIDZt^OsfU;HhjgVi0L)(46Cl%ZvkX9rb(GrV+##N?ds!Yf{ zVI2ZQ*vBkiZyv$u?~>(~oN+)5`_j#Y*>u7 zvgkBF_25?XBI5h2IUM_Qm>I_6lA=Iv*+7aaMX3RxmI012Y=O@M24|E-LWO_Sq?S64 z!7zb!BWr{X>qph|;|`7eHa7aJ2j4JKm!U#|!RQ%Lz>!gMRUiyIuL}De#Ts7A5*nj;e>bvAkLRB)H80}%M+6U6*>VL} ztT%x34NPl{3W*KbWFl6T9K(M@lV>IqaR5;-9L|-gnx()j(~Q3Hr)fMJvYDxM%HjF+ zM$sHevoHu=0X7lV=2tN?gwa4bd#;@}R!G)D`(HDO1yKr}BEPIi)Ng+Y}myor^oOy5iR}mnDTQ*X>0zAI@37&Iw6j z`<`0JZ^&Q<9#j$Avl4gC&O59me5hl3xS5@=7MPqHNF>h}`^7iRgN}@9p1sbC%mDx^JeE7Ivv#;4!vm@*w{yLnTaV{sbK|E7$DLP^w z2z(|D{Iwj^~R6&!?b+IYO4x7bXQen{R=`e>)9$fdO?~v zl4wSOB6{D;WzMb~D5M`dsR$)gkoM|K4nE19w`X9dG=bdJ@tsjau%a1~*3@zAudg50Ysb|V=iN}xa|@^}%FeL5$ONrNLX=8mbB}(Q3$YjSavRTehJ#A9Cn*Ff z(dBR^kGIkDb3Os8rEV;^?OU7QZ+_2td=hqzp4nMl_||B>2ox%OW{^TJdT0|6Cl3ST z@zWFUqf;aqi$6)%Y5Bsopmw>fBx%l2zYCipPbRm#yCGZx(@K3^mo>cUWgFh3SK3x? zT)OG~I+>LP%OY=yw*&dsbO>ggc1OC_KbR~a(i8S=m!sZQvZ(JJZd(5|pY@!|oWe!H zb&;`Fj>&17PG`uLh)hSAGs>+9uxSuz!CqC~9{#?+p3)KKQkWM=8ZcoN=`XuanBjA( z__xEp0O{?JHPl=)C4Pm*@yBu+J!Fk&wqL0eO9Wt@g`41;tn$OZ1a_aVAD;K)Hk&6Jy(H=u|;Xv@t*ZB6vyusxXCbWDi z(oh^3q~X zSqamhh3xLRlHC5G;loFy4&HD@R+m$4A38KSAaZ(^0|Kh1SsWu37|UcJ$)K%SilMYITsTkJij{x3&gy=~cZ|S=-of!1;!UXo1BH zHp1fMt4m&~2-$LLoqC78O-^5N0}x=lOad8cL*tNpP@0kkT+m8uX#JC3LL3tk%of$Z z;Tj-pP@nArrn4bVX>a5=K?`g2Xsos(TbY~3cirmjDtZ@fMZbtYRISkockF<=iwGgG z<0gP~km&YZv`rA|KPv=xF>S*(CwN75(+r&CyJ%-=OH&sSV~FaWj0ZRpYiF?Jd`AoK zv1<3_(>)WQJqJ+aEdud2x&1PEq5!({iZA8 z&iP%JlM}y-zANs>TgCR9$Ta1=##wj->iL2p7r~OVz-*mKo2(=IKD36o(mcb5NhZxQ zXGqrF5k4^m9lhJ$`o&YF70=j*5taIyA&`?dGai`Sup^lzik8uX1?8-11t`C>6W(O<-W4kLlJWLtpV#JQ!hW9f-f+YSwej#q zH2}7+IY{_q5;Zt%3Wy_-Zuf3Dauw{Ir3JteRY2^U20-!1=v3@s>1gM5Vx9pGt@vos ztZVHJxh1D7f21<&_i&M+SwVLGcgs<-gxh5!M36+}zQ?kldnA!2oTX`<_t!HiXSMiU zJ7~Z3i;@yI7C9HeNo!b8IXfpnWA0Mch+fJK;lcl&A9h-)sK>O1?a_ZI{a)uP=`;NH z00O!jhzd;#MbGly=nQ7Dt}kcf)5tWl3B4syDJdRAwoisVHChojTn&VZ@tg-xVJIJl zOwE9s3QU}440@wz)>52K*)wGOWj`oL!CPqrRgr%>W*1Mpa?Ry2m27pnx^h;smD5ub zGSZ{LhzJ)nTxK*Z(9RE(up<$hLhB~)eSEziDluK~78_o8NMG>UiH^){Dd&}+8jTQ3 z^g&@kbBIl;raLB~%UIW9HV$mKaN%xtdF&)NCTRQu-azVakwE`~51J_EY@2?sf6a&l zu_7dE{iY>mJwQ&fNjPm_*mM0|-*bDK;kI%y8Yb5!NDA}LMt))t6pg@SuIBWlbX7R5 zE>(g|PfKmLa$!uD*55?Yif$b|KCk#8b_k6;1tMsV{BLr#2k@TPb!?YHhmW~S1Cvm5mpM8 z5M|nQ3XBc1#!&r{NGgy8*zDs+pk$Fh#{4F`jx{_u8SvzN1$rtCUZBZ;dDOGnWahoy zjBH-;z?l2^;L=vi3NhlBCZGfoc@c1OX7MGB2X2ancTr}`{d0dkgKf;K%&$2=Pp7e* zD5Nz7KD&-1!<3<`B35-jD=AYR7m`x5uEOddX)5w*a@3JEee9rrNmLAK&NM383K+*j zf%(wkYD`*eu9oJAbD0%L%5Vk;QG%UgETd?@HG+4qRb1*SB~*|5(+M3D@j`>%w&+=U zRMdc%Q!fasp?N}nC!^7j@N&O@OGkR8PO=R`odlnrdX4+1kFBHH-qWq`gy`}fVXrG7 zXgdbxE zJ7|Kfecj`XS8d*o*3!! z(*V$K3ojl&8ojaLRI1#nA2DiWZs?vJO7k6aMu;%#vax_UA3WPbCFd}$-OVi)NN#U# zMYV%k^x<|ij%PjX0P*>IGY)^uC;KDYP^qbr6J!I6^9(`m&J!^(DGg#3>>3TH`yLr3 zSJ~K?IsGWfA=V6l2nXW%?U+asm_)%8XLLT1P?zIcp;NeAuKD+Bj`vUF#=jowwbiR`nGuquQQ)BGLo) zoDLX2#_Y(f%F}1Dv7kvidqG^}YzV`ii`y$_ITWL$;f-fKCS3_R-i!#zZfa;J`;SRp zMK+3l4}#E^;o?KupcNJd zD$&Ie7NZ=6rqpQHn%(N@Tl*5EJwD$uSgM-nvQ(HOBV=gR+vg`7 z%c;wMoz`D9JB=zn2%5y+Wf#+xgvE%rO=OC7y$JUQBf^&SX_5Ah1%1W=8^NsiE)nnd zs@K0;Itx0l&7ZpGr}XgD&5IhCz@F`;0g`rJQ7gSjZ2FWRhSZ)(e36mOZ>B^E4z68G zr~tYpY<|p--RmwPTsyJnpWEe%9s1qz4oP?IcrKyqxi@ST&?_L%l3v>3V8XV;?J6SD zNIac{V{q|iausI6KMW^`l$@ky31B5c1FI7?a#C+qkHwcm2Dal5j0J^CCryY*olJCm zs&yd-buyDcrV|xqiL98z#-!X~@B%S4r1TUWG$K}@T+)H;ZRIz_n24yMFD_G0?(6Iiy^%;V=>l4N9o9B6C(sbc&PVD2>kYRMA0`xk71q&(|Wt6-cE5nUK3MqZ%MuGj#hlWtm3v*)B!3s74{drXEgsf zAz}bVvK*w*n#uAzs^NfLny}5mP_XF#*_%S-Zj5-DJYi8i8`RhcVI0mAJ>hdSAdc?> z*A5hoJb;OF4{)R^R@h5t5+)VKwj0&X-qhOvvaMSg*hrLb6K7DTeblLMEvjSIF~7r> zGpcqEPc7}dvsJX-1ZRxi=8MiN6sN)4eVwy5GNf$i2P%l&87SzJK&S%A-z_o2u<1LK$wKD ze`+;4b&tjoF4^o4Jq z(tIV~l=tm{XK!%FD+A9N3=s^ka08-i3{fWY-XM>W8Rmkze2**Y4(%ewwS+|FJ=6GJ zMXeNGq-w2JKkLx%KZ0xIHBufp%7_I{8E0HftOCa6ba-vBWJ9DskKHsG3geZR83EEI9_D^UYM2>2^Lrs3nP6esMb_mcf;@(;f|TbQE_&n3DUU zyV^L7TsZ=sZeX@n^#tAmpwWAYXq9>rshpQl_dPMRLwxs;kRS$jw;4gGxr@3Sj}5%U zcyzZ(gz$qFgNp|bYaWN4S2(XG5Gi$-QwZv|+J z;9NOyR@v6V3G#sEw>+MRepv-ryWWA=sZv7y&^eI|l7yw>t|w0DDz9cnot=7QyLd%i zv>M&^`5F9$E74XZGX3OL7q4m6I|ub@r|pdbx##8=#QLwgNZ`fl>~>G+*8)wKO_d*P ztLa^bmw@)Ri@LrL5t@~q&g#UoY54Tt|v@+KOI(R zNN$5aXE;H;;fxB_Lww_58Ci}3w=?n&T>DiQ!CaY9uC`wBnJ95*`2(HphlgkT37)uR zeH7`;mN_8hoXMtarlW>lPacWrNj)_r@UC_BW6hteDh%HG7nqDOhMF7kgwQgh$<=Ud zn>tp`IMwXg=VZnz-+WMO8R)0P*9`a5X6Iz2y$9-USmT~!_>l}87aM^)#0 zukz@k^5}y#8G@E~-*?aPOd(h+i_x6)lJ_v###C^Q9bGBUF&2Nz*>tmyDVgNGTDuGV zX6mot<_FH!u(-vkXX=2;wz+=`;FvlgIGBh?19ay=1=};@*}p&P4NOC9N<3!CifOGz zeIkA{?J|n;)bP&%RO^lU-KzASSr4}x-TQlY<2fW}{fgUf+k^lPo9(dMF^Yd`obK-A zW4E!!4}R{(_dVL)+Sz-wy9F)O?$&!4Xox8kGgU7(M8Oh|l6X~E+gl8beiTB>Yvzr% zp;oQEuB+AGzt;`mwGu<#*(#?V&Gy={UqPAxG#L&oCTE-}uJk6KiuDas!@0Tg6*tzv zQJD%PO`QQ2n(20`=0+8ZR=3hPsdt4;6;uduy2)*Oyl$tx(0K$ z4D6Mt0CJ0Z_Z6Of8SX?*9a;Y>SRxSKF^m zkuD$>z#V%^d8G!4*|97(4CF8*O1h|-s^ombiA+Qhh5c7MNYF1!!NH?%$UW;=VdF{z zoy=l2xn&oacBk2@v(2p<<5D?|Bsg!e%LP)Fv7Stlxo27^rX_mr*>aF>l@b5K!ZPDP z7JfuFqb)&-qv6ev1^s#7XKU7sPP#b%`-QfNeqG|=2CLSElZI=73~a*cA($7@`?4cA zFG0Qz#tBz!y(_ZAVYhMf5)uAZMX{_W%hx*kY|`tzW;7b;a2$Uuae5j_>SodxS-r;eR^-59 zsmg6(VHiOq4J>Jm-PzY=np!KS5h&E2*bdqwHH_`iElh=m?wRBqb1}_Yd?+C7P0gr> zY_+7x3MPtfX@QVNOuI022{$*`dz(9v{jkYU>|nTadX#&)^Us8HS(a@$=jA~}vIJRw z0H!Ki8I0y!c`x!`r^^yPtIG66DVw4w<}Vs_UhV97dRVBEOpTyr$i6z^%?X0uFH z@0FAB8rw1k9+*Dnn6i3wbes{EOZoUS6$gggSjWddH%AYG;A)Yh1fh5z)th+nVAj{N z=DHm2#5kz)!->?LDU0e#p0#yudX`x_Jf^X4=1fSB-47mobzy7|qO`6+Rv{5MzQDp4^5f3H@wYiE>rzVKw z(cLgb(=@P$n%tdvo3wxMPrMg&Zl<(3cZTO&Tl<}}ZYBExUlK<4DVtr<*fkyp$W)E- zm?4se5DaFPI4CCIQ&TRb)R2fVT#=FrA=747WTuvwo^5d@dgxbu$Qwf_0#t&y89fY) zL8=+l3*60GQ8r~(NAI%r`7m?>%eG)MkZvC)I*o6-rU;1skv`n=F%@s^FM-Cct?X^G z=?D%BfU#JI{Z<6(RVq(p*+M{&s8ScEJ%M0Tjzqkn9)W5_az_}t)ZfyFsft~|tsT%+U)~X(jBKNU8$YvDTBVHP9+LEDQdA{gme_LlV&i*V=z1Z#l!GNQRF^keWb8{ zC&Z4-l3w>_@DwQc$VTPakjPT>tV2k!vq2Rku9M#u?be)zh6P8X-J(Xxb#HrL)+pTW z2h@0&@twln(@~ERYlF`Q7>+!bhD9R2QFttMu3}3n5&dwbiq|K)@eaJu?;=ZLGHg6S zw%`qHi_o^5WARe$_SyJ{$ExH8gt-n9$*|Qn+>A!}D)Sgc{>4Llm_!}~^ajO{z2@wo z{V_HKvwNHL-AsITkkQy_^`wr~k;_%9?uTcssT#ysK6PX>@jloYQXR`Qq5Z|3A@9qf zcvh+x&iUU7e<2h+tTp($3(spgF~=9wx`B!Zs6GR|LANK&n*=hma**quy3Z!=!^G1= zSRjaJtktVVEpoIVrAMx2=MUCl*|#LCO){^YA_!fuuj-7g7}wzL+yjW>$@@z79b|ES zqzg`+Jvhgsx>BYaQG7j znf24hokIUz({Wh%Mkk?hTIYGx$5)W(0{#a^5^^?>zU!LGU-_UV95h-*Y@amuKjv0Cx4OD|)5Q*tmFuUO2jmquvHp+n7vy)Y-;#cDXSe(<{5NwY53_ zG|#5H^v5BMy40x4jf%9za0BKF{>xB2;zGbOi3Rs;Nwf+NU6i(J5&{n~r|LA^MR(a-EUgC~r=XXDsWbb5B0J{@A{yKZ<9 z_<=R6<8iD)w1Lls@0d9r*FiOp?RKEZ0s^vN?udf$q zWz&Ta?QGT-D{nTLBwcZT3|lfA^@tiV(wI)qPY&v>ptY}ssH%lkL8^!JN-$Xqa8JP9 zSIy?(YS10+#C&>*2h>aUu`& zbz|9axwsd++QD*=qBB|*;z^@TKNmw(mD0*E;i%I*?<|3uDxy}NJ>!`p0-1VdWbDwB zgt04hvi*yU8TuEfYt{a;=Lm|1fSostA)VJ zD@gV8gZ1@V!JG4$s;}JLxmw&^`5sEOVws_9_MM%dNC7i*G~&WIWwP^&BucE*1UtM? zpQF4h)Y%0$ONxzPyLc3zp}s59+J#r!uAU02Q zEbB#x;+WJ+C{(u6Qvu|YY2tT7B@N^dpg?Qd7i6)pD5dT`YeB20>au1 zhWc{(F70MUmYSEEevyDT>r7ZMDIMVdunD<4m62JmvQvMwm^-xgfngft`d>3bm%>0Y zy_^;!vy!2Hxt;^75RN0E4MT9t6e|WGWis6?Ym}`Y66&2cJFgL0(wEO6Yze;l;<#45 z%26nHy|1h*SDDtH6CjDrZ#ibOiOAqY5cA@xG@4n-*~cDTyzzt$vP(%>#98=Ae?%`| zx+5>=8$xVX)Jo?NXeCiy3YzJH1e&p%gV=i(HFj1g<75t%=FxHW6%UL5YIo?@lW03! zO~T1I^>*&#_2T&JW|GB;k)V1RQ0pBSKY;yWK5sYut8?7mPX9V||17KG-mzg(BM>kz ztovcUu480bnw||`M0%5rvYl~iQ3xM)-9Xec5sU9c2aV>#M53f2fA!V1xV=dRTMc@K zSUXnd0M8fWC@^G4DmJZ9EsPhXW-gC2T^_a#73Twq5vpOxL;Ac%6Hd8JD9whG)DlZ= znz#e37gzZhsv-e$Y@G|Q&fs?DTfV9(FNlcA7;5k_2V-ZN>5*rMm;9^r9`Ck&SI}0f6sA>f4bfuDzVh zG!cQ1QzX3F`|;$X^kUTf5^sGLZwM-~P6ryqRSnGbaH`1Gp6uC2X!(uz3f-+(#;WQW zYe?+@E0r_gN@WXhIPO}POKUV`zjUED)924vIy7#2VoZZc;RZa!0$)rfqqv9sG8|<8 z0i3NL=xU26RPu2+hl>=a7MQ@-G_g5BmMfT9KnY=88S}++uBoG#CSIXM7*ik9Mq%Hn?v=QA*lDP@ur-z+ms8}eD z5E7=XuZ-21pCE%)OReka_t5~BS{O_A-=paC;03EuHO6H{0{#=IhZfdN?=C%C7wE}E zL1J&LJWTP1bH}2n(TSgA3U9}7O$~y<+*c0!YCLew(au=3!5~HgoWpd@e2%6)&I6LV zikbRsk80v0Uf){(EEHA{NopIA=KSl=dlW53STZ;~rmCiC-)JOSc&mbzOjhNg== zxU29w(%EAx3@81ihd2o6`1VF@3)Mgn!+m0&EU)I|@^WEKMlI?pFBwG;C3GTV?nnyOg0)MuB?GqF7b2VS)ob~@ge`m|_^fV_9A$pTS3m2-AepIT!=r($q8O4^1 zm;Xbtet#%=GS%m39H%G}HlG|PcApshoXzC8F9~j8akZ9C{c6^mUJv_%4aLNkohGCe zx47;l*V4oWu%)itAQz82b{HvM`AgX z{?h3z9w$gEWUM;)IBT*!RB@9|1@geA-Y( za(Yf?O#cwKfhU@WO|JQlNyf43^2OHO0=2i4BI+~maKRq#;@X9{E3_M%CL`juL}DT2 z=u~i>4DanYih{yXYg3y06e0`Y)U3#Wv4tb{nt* zHgKARIY4-G+V*X}GjyLvaXc+;b4&;EMdRcIBP*RKmBo-&ZkUbR%&xbU2$n;P@W&TJ zq`SPhy~1m3e10)T{z!P5$HAU|o|~~rcos@Vx5)qT$s;EV33HT{=snFPwPz(3wN~v8 zSY!ai1`cs0m%4nayRbK0bCF_9%i^zIwHe;oLvtkm0m_l55ZUH3e9B`)@0H!OP%~6Wk_U zD*NIs0<%qEh{Tz)(6yrJFGf8Cm8a#E=<*zsV>q@%%PMep2(EbxX^;VDEks1)PEyDm z@4pbL(o`!t2DPP#gT|@Q@e(~I&Uedmc>X>t-WD&nPgBSWn~3}GWFA-0hQSX*iMee& z5J(InGg_v_JWPRF5XhW04$G-ePd}N`LjnB2n1t>HT@!@k@vG1;iPIV3wkctcI2E5v zX8I6A$`a!EU1(^&@6F48W*-zU@nFUu&P-jqa|d9%b^xotS-N0X4wo|y_gN#qB*kj1a8WaH!>hjBW}Ig zH~`J7saRb?Pic4-R5~)Tg0#YB2!jUgo^tpiSWE6%R;6!EaOa=ggW$yjT-hUtHvA`1 z&pnigV*L1ooBOTz-FH~QJk(fheWG)W$l0Ux3>joXp34Xtl8sF5rCyst=dPz~^7lm) zMoJ02FnP%bE7jkA5yj)xtMAzA65-Rywr>6QTk8M50>B(WY?kSwt7%L4mN%?MmEMb9 zx=t-a>ag(fax}cU4v1<}m`VH(%N*x`B=`w|i#YS7;;+#0!?6p#UqY+9a(6FQ7ZYBp zf^j16kFUbYvmK|pP0hwkBodlP)ZbqE#06nU#w2XiuOdN~bTB;$ORlpo7h%aSb9MFI z?S_{C-tG3MquT`kTmRiDl$@i{-zK#4#GyZd5@qxHhj7VmxCB}eDv2Cvqv|`U^uw;k z`i(B*kJ0>N+>-$Ac`yS94y@|05Lz9tV6Zj@S}-1<4ZvY-j)oyHie}hTq1;cpX;#Tw zCe)aXqX)GI(Qj_p@`ZVCq4|cLH5j;3QUSNNCKfyiKk}wvt5OntUCzhqzw%(1_E&!U za^4#exHH>-IrZB!#lb-ofXfc0lr1bCkumJI%^@aSE4f9cG3ba;^CZ(;mb2s*dmu7v zYO>u)EFivq`jXltVj4z>+F_@vr? zBTl^}!E z#5>cxli8yB&kc20-pLlhKu@zvW{cP;PZLUJ%c{rqR>#gMjmG73D1p9A%aRM|pH78x za2N}lagAI%^_-MtDS3PJPiM)B+R2)Q+o3Gi&Umu=9lB?vs7KS%?=sUe*yro&>0$eI z^$o|~#`@sQ7gstYhDQ!Qqoqb-P)0X|GKlWXZX$cb0Xvllr!#M6{_?5~6V8dzHE~6` zcFC=7Oi1|xWEzhpp$6LcjlT8Hf2NJFDEXdDBe{mTX2x~db{TA}dy#9c4!w&T8@!Nz z33f!!D=NwNu+D=F5Kn;E?xdzV31d9Ykl^BD%?q!(^sJkHM{e9}`j18;ILe_Pu5r*j zd@JSK!E!k_DBs~(G%w)7VUqo3IYLQ-u(6@BRFxyPO$@!e43A zO-WfQdOh_#DQ)3UjVI}N=#9DT&B_&tx|irf`LGW=p@$~Z0WF#eezF7f{d58bB@C#% zpKb3Ab!8yyf3dC2w%>s7l^2LjE;m~Wjad_5h3-V(7c&u znmxa=~8rf;_n;i^jMB18K6?%WJ#&3eLT3WESHiG8_FV`=yRGKDDs;cyTk z5CW$Kn~-^xbdeHv*k4PHo5UMlQzS`ENl==$$n!nAx=64|JjHk#1j?m_K+&oQu4)tu z25U<1KVF{Z*I5A=LEAUpWwo>*cT(j$_BhMwaY^um7ak{s9h%#aa#%Y$>k-RDNH!NH0rjx2ni(N zdie=f0Qd?{D>VolA#g7AgF?DonvlfI650^KnQ_#Pn{CA7=@7!_gSDIenr(4@TL1Zs z=&t%<_k?CweO0&3@?5$Bc--oTYwRZ! zD#`BwcLL|yqvPgJYqn*kAkby=v)4X78o~11aZHP77k+HMq5ZUnGGDf+IUU7D ztDw1-Eoy##`sTFx(`m4|mSvkaj*siFs>fnvT<;JeW*X;87N2Q_->p^CGwFO=&=PD- zyG>{Cv_Vt1js4GyZxixq*ITV-Yt6k$>DT3VG0;5yoNYr}L8k(S1)WxdwLG?6zGy+; ztU9bUkBx_5+I_ZU(aJaIm>$tCGvV8=*Unpw&RYv9Sh^6J#yHC?Nap*Zlh6i{UL^|r z_}JZ0|9b!#c)l`eyKKp#Yiw;foHH0GU3`g}2c2r;w0dw{j|`Ne3i+`B55GEX{5y3A z6E$ZXnUW<~41$=>d7G_Qny2k_C`;-s1IrQXeykp!7eh>|6kT$JM=&uI__530c&~zc zRy>G&lq`1`D5Bq}WIIsuQ}wi?GRK{wVwF4Y7M1&s*@52Qwvi}!ZS5(h02gLBn}{7Q z=QVgTb8=Nap@Q)wdmjYSzt>wh#GUgNo$F^suh+Q7-oh@rwF9d2bWtx-<=NtnxYBol2_t=Y>U2lg z94UW27nNv+CvT@7C44u&9}hcZp*g*b6rRB&r0@ekKqlRSVvLa45;Oo#1t_aTU>P z@H+UB7pYco*@Gb<*LH$8L&7ei!|#g5e_(0^u7eX55j6t0z>9GRL{PZmHeMlB3aoka zOz+RyZeXcTh&+QK@a}HG-4-p+Ytbw11qYF>RDkr{*thilQpJL6m#Z=nDH2ieOO;oIU;)hh$!r{^Um6{f_*Qj zk6At|dg}|DFk*jJL;>jD7`pP`xQ`_p=~m_ieYSWnod%t^XZ5vbfgODntWJNn*Pboj z*If0*o9k3>98&GY+ncRjKuF|kTWj>S?-p-zxJ}Vb&z(B#*LOR`wY%I$>x?-vb5p-7 zxKgO+IwA`>R7?yj){-ErMk`fe{!2hUEOxELImf_J;oRhD}# zd{TsTPN{?M0=HA@D2?!4h~If7Ht-%POwgVOu$lnNSAM?huhWNZPhY@3elWf=v70$= zGrk5FwX#)-N}Bx$t+Jpc9+C@v5nz8W0Nal>tw5o;i^nol=!+MDl&y1z$u0b~H5RJk z)0`hAf2nx8;4@*tsMzD%8z(M0tLj#PoM*3s&^h?b=k!s;#07hqPv*VR=gcC+`K1xQ z{nPq$7j_uk`OOqO^a_!~UABKgK=L_*oF!sgNI#bbB=0y-jU^)56#^ezGl;?Uil7f) zJCLbWA>g>Lpz+I!z#%zsz;jD~t-W;)UdGke*j-<=bk{czZpF2A))md2sTYG>xTfBE zqPe%8#Xy&@r7;B11fkbG7(^l0FZSjWCl6h?YgyFn^v11oor%4z-xf?k5%E$OJ>;c+g1I4mCh&j$Cy@0YMVVWeH&U*}kN_{veX=)3kWaX3@w+(18tInHP@PFtGgsb+P$-U zX~c=h4;n84N??7MX%`HVp4LuR#RcueUFCS2nP8`8nfY{=?B~qF_~tc%*<*j#o#C>n zNE&W6VO$ai!}n40?XRzKEM6OOJ-KSRe{{@ zm-}3_J8h{dA~G{FGBPqUD#9hFx`n3|d?d`M)%Aa3z0D8{pe!la<5u_hR5Pe+YAG`lUJad;E~~E;aPP%#CRcF9SCh?>0)pyJ$JY@2Yh?EB9nZ zv8s_zmd7Kpl8nJxpC_1;_aySKT$sXi)k>4{1DV<~GXZ}|$N_j~Lbs@+2YvRY+ngCy zT8urcq*Zv4_-tp`=tg0i%oCCA?(!g5XCoWKEC`r+O41H4d1ocV^^=~LOuwHzG!;C@ zB{tX%%GspT(~{YMJTm#6QT7;3+ioli#})04l*Mh7nMynRSf*O`9?i5Sy~nd`Y;|C9 zEYfvHC4**WcYKGo3{3mrmQs=RUmn#Z>jbCu$vDMj;rJLMvpHsPNO}?tDH(~c7%}PP z{m3osIFIl6-E4tx1C$nzusLL~zY9v7VbWu9TG@-95^3U|hs+LPD)N_o4!8t$b_6$( zwAr<_CeMa8k5HRv=p0Dpg~tT; z4rO|3(N&NRlufh}Qf7V6y08-Pf12N!jcAyfPsEFrl@`e!AZABGVOF16rV_*X(BQd; zFNh`=jt@<~%Rq&L5AD#NB`#lOV2T6x9G9V2?X#)DyU6Dy!c= zsYKb+o0+vL>?UF2ybfk$llcTCh}ok*{jfl5eMdGeEii26Lwcp;d)?7)oXi4!_7V_B zb}tMLF@7rR7(2eh%G5|o*q|nV->QX#ek|cCpQ*b6sl#RdGw(Xf@VoYq?w(aDLZ9AFR zwr$(C?fv&{U$&~NyQ?2=b={X+=k)D!C{{sLM8BJ( zBcbmp+T1jfHqj<^V*iYIAy5m;P`XIf=Ao*@qYe+cL6FaK#D{IFOKF!mKsU@3{mv@N zm5z$NvbjLX)o7W)5rL`TW)vlo`VP|Gmvd*O?%?Mgxi-!Z3$``11yUz@vKMHZ`+_w^ zO)uAPR35pqW3kjUXhX9YrMdpWKs^38xM@gx_wI;!$ZD-~)8nuIU0M(0N$r@G$4&9* zZMU<7AUck_3{|QDJ}dvrp}|XQ%*s*6Z-w~er8Qy0Xy@IyGs+^x{Eb&PFl)ys1%TxF zONun3?O}Z~H9R`5!LyR==9NxLV(J=BWtO30j-CN4Jp<~#Dn*j*#ROYN&&Yt0wjl?O z8XO;=7~|w04p;ZlG!%k036PGFWap!@%Y^;@GAzk7aQ+t04c~}SqT$}A0C5~@wvYpd zuO1X($e;bfsAR=cR6OVfHL}tR;-S3^|L?kKSBm!W)&U^3ks>F(l=hhpTnFEo%|T$N z87NyN&_gx?Dm#)%sy>Mse#!BXg&P1$Hov4nY=ONAn36i!)YpJp7SE-)fo1d36V}ZC zM?ajDJ&9(kB5RbqDss2uK)51S;Xwv!vDcs}UQ7>hFt3Yc z$=VZj-0T7mDm$qc(6%sr_2q79Q z7;a$~(EGL%T1_tlL26;U3H7G_P97 z_lU>-Yo-L=|CL59vD)3&zeA!4{a7{Z7>E>6*$8rEa%`qLI}9j^M(7r;(;EGVlUj<) z6MbFBJ>BB9C4RLqd1EY0M@paKv87)WKTfr6Pc98jFrwp%dYYa<=O-|ZKs@SvdLFx; zSVt+5pmwC1zS>xaS)e|dN>&K7ACSchCwKg~lHV!4p!CtZ*~&Tb3u)1)*&-y1?_k?$ zd-KX1LoD3gFH|=?JiM(R+8Hhmyj|Fdr=j7d+DY8OL&PE7dg7R4eTT1OL^6XTQX1o} zWCyYpU{+LS5o0Iq;VTS|#J#Opqvzyr)s@MJHCGO;B_I@W={UmE=mnNNy=LM~AeLC= zyovF*PZ4-Oz&I1Rw85X(8ZFPR*ed+_`J0|h4I^DX!o@&On{CwN$cFfouR1+rO`iE-&(QV z;i^|zLDbG|STuV0ZA%BXI?3H&WwJ>JCzsQ{yV>3}!HNR=nXdiu^=8u0nstHRJ~+EfJ)ge%QJ zfGh?v5lmi+ffan(orOF%@;pK>HcXb{!cbP$6eM>#1Xwt(FC$M+QmK_dyw6+23+z47 zM8!J={gTNvfQJrcU!@VA$B~W#_BKWIfMdo6oWk*EjZcO#Gj%an$p-$}JJ09cgZCfi zZzA8nz+TQ-KvzBXFykaU-+2QvP2&!-1 zQ&vKSvE4-SUbE79ZcpOmCP4A;xs{6!8d|%~0fzn5Bst86_-#`pP|AjWgE}hYy?~Fi zh3kLoBBzZ8&Di^rjfsM!OSz`|sYJvR?? zIK(20r=-U)F~asuC&iymIfWl!g60x!{~P=Hs~nu$=vl6+wAj@Hhy5b3Jwf9`Dtz+1GuJG8c=2d)f&Ozd1bk<#X{TM z8o%fUyI;ki@s~2|tJV-MnMFXCkFDe2dX=_0tL>niaP5SiznuE{9ewt~J zqN9Q85A$Z4)~VPGq1F}0^^5nxAVO#9*B4ul;Gsoj3T3P43Xa>(z=!6jrhEvozNRb- zM6CEy(48Y?>RdG2%%x^z`7ugI20lCD<`NbB zZ6O#KscxF-2OACb%EJhf6L;PVj@XOcw_~LFogl?Q>?*3L+Iez`10hPg}#%?;#xY$0h@g57hz^ znc0E#xnF2o@PK@E_3VVumSb1#OLg@Ifl)}boKp-CzG(e2C~EI=kF=`tVXhs=Pw*l; zgN}lEY&I(RFbSGpM{ayi66wR0F&s+Ye71{7;F`I?U*G)zV+7FCVLl zoafu!bL${R{J8zxuUcrZ8unYQy9^^rc{`=TiJn%JYhxqmw<712$Lh_qd&jLtcviYH zwtCD=0LX1~U`n(qj=Uu3?yGPQ=(_2wBSkOOO$N+)gTflv(@dD0D9R_8o3cJubvK_D ztZp}$IW3F^va=%#KyeDNYzf~7-^hK)>v5J%8{p`%)N%Q&Vd+ys3P~O9&n^qdYFD54 z25g`g)g&he2Jp>XjOMu&Eo)#ZC}TV;T(_w;YU@i93qWfq*^t>cYiCJZDyi<+(EkVZ zIwMtyp*<4zA2;c~5Usf&Y7RSY%b7ILq;55{8*eM8u1~Zn4TfQ@K)Smo;BsO}tYF%x zEwTC9{C{QFn|SbgH07E+{K}JaMn+DW(juroe}Fq%ZmwrZua5O#e=OS7VaRm-a1jHN zsN@Rdt5JG~dPK8lj>EYI=O;smr+#Tp-t5aUkCNEMSz6V5$O4%5cGUug@M@+ zAKJ{djFHpo&sDFf)BeDEP&W`1eCK zX-7Fg*4?GaszkYqYr(3JxK?hw3knv@OXIRd);`=MfV)^?>11@8U8;OKIgdy?ja(&{ zNM5&0v*l>}p{w0d0K_YV(~-pGvbdV7Lj{FnuZyOXiwc=xlJsEH_F*z2)}CF*cgCe8 zfcI+J>I=5?7(dh}9}q(&1c_#B7aT)ky=x3VJ<&O_U51@y#2bELF>ufAVE2*TZDy^24_ke1f92k+u)# zpXD`7(dBlCUe(NMK7Wk{UQOfAf8!?l>>fY^v(xnXQsmRc(I!XGATF@=L-}&---dO+ z3LrBHKfXFyWkg719DSKN_;ouiLhUY2)H-dEx~zpb&_^)W66f!zV@UlEkH~CQK$5FN z%I(-r0Tr$bX%;&LamS*4(bf7O+jxS7FM}v0=aae}c&_d45x1f0kM0*LvKH_^r{G)F zts7-rXwbh__)xOT*B+MrlgUajD-;6z=66AtFF6fn1zYfP+=hm2#n?dP1N%|5u3Bmh z0xX;u8TYR^XBq4bR?1q1sOAMWKi$17u=aA*lEO;y?pGQw6>MM6~o63}6{&Y+X9N!OASR$`5?-K0r?YTZdK8OWCP3LdaG z8HMLNo4ApD*aG`qn||Dz|9STu=1NBpf^ViShi!WrN_s@|kz@%=m5^7`A9gDKk3rN- zD(`Rcc-E;Q<;RM(+p4#%u1-#*6@-v&+77#p3rVPx+xk)F>-&Xn1;u`!4O1Ne@P zZ@{t7w=Gm=`jnx;-0N>3-um1DB$ZL~Z4m9b-hENd0a-Him2CMEf?O^dJWvJmE(1MM zP70@w>8y<#(WQKp8p+3EF#!z%%qIj#G}Z@@a!6x}TY8XTte!~&ojFXa0o^O?wWWDm zI>(Gml+(!N9S2741(S;amFhG2ssM-Yb|8X1%LB*JxL#}4Rb5Ecm7bHKw@PpBHp?J3 z6bQ)omF;x9ZtibQQL7<8E9D0bc8B`{$tXj{YlSFyrm4Keon39k5^Ho3Y%g zWQ@^nQR@UI6|KD`3G~L4kq0a!T>4zC?xoqo^0n-mt$cS23u<=?qM$QR=OGu%eMG?8Io(WR zXs@qJd9_0d*Q7T;&+9&dnchOFt(s&4PJ}CP?XzF(AX$hCA?1IfJ4f9u8aCMowwOzE zss#mCCg@_xGU4XkIonVhem1X@fb3}C351Rg`2>=js;R9QxKh@pBH+kE5w+cHf4&3fIYy5s%6h3psTQVWj>wS2< znv`c*&&ex^`8w;%(MYoC5Y0!!VC*y-zf3_V$buS>R_#-(pgtK(xjszGA^u)1o{H*W z$ECXPoZZ2?Ua}%gTW;iR#}L4tLW!LUWB{FA8H45vDwOF-)4sbM%=6|wjoZ7=7U^NF z1ajWIx7d0{`^^(Txkj0^taZ3!Vq)kIZIoW1{T)1xwp0lse z49+%FwgbE<`JxZvWWO^G6i;hEaNN`!>W$FGe%;xpoY8dXHlCx9da%YT_>|u8RE>M_ zyD07H_JVINy|qQTpfYgPQwk0?mM!gW0$=*CJ$^CF4jD!P`kjlo)#fo{X0q7C{e2ro zX0Nh(#Ox6Cv)p!?Zhz5puGX6=VEPuf$P z7agHv?g`oqP@oMJ9S&?g8@&azGuBsytQuUZmmpJ|k6Qnnart*SY_yy~RhAjyZ0aIn zwk8>zux|Nxod8i9?>$*YU=>q;7S{}B1fRhpRJFNdcZsX4^nDnviYz($5agx9BN{zbBy>H8T z07Y!(2%L>yM~Qy&jhOS|aR(IC;`B`Lm7UXk#Ky0skOR;^u7Ipk+r+3#Lc6Hu-Spk} zTFV$X?JMeeRsD&0z{#@^7~GX*nOZn}`I1Rf)O`HqFw9S^YK@jX{|0k!@=a>MR;dbP zc7`yeL+0C;=#S0$r>EQU`6)e_p5>GS#0QXZQ#?9{su6x+yS8of8)?1m^2XfLn_Z?S zqIqD(t4xpe$W^a;G4D9bOzC!^nt7uMJZ`aD_R&pFTeM$xhA%3^shJ`%Ur<-+ki|CX zpP3RJSls2<%!7Y%0aDm=0oh>1bS7e{EE1^Yq;7!EyMO0e(SSA=4mla*OC+{v?KNd1 zH}=Oy9-$vF_<=TCigXf0-A93{q`3wLEx0J$$1rbjnLWNA&IKx(!)YWpvkV1~YiO<4 zXLep>-y2nU*UpNxH{`F5G`Qi8#w|P0wL>tUJ?ER+-3MH4oDk0eQwvJ5=BfEZl+*)a zFp~T*D&9Ky9~lk`=h+c16y#AfZ8Y1Q0zOquOafQ@5CKmi$GMPD9Rq#POIRVW=Nu$d z@Lo%Xfmg<4XRTBQzot&ahEpmn7GmCE**bf`?ybXe7K=x1%$B zX5J7Y`mc-8!*JV;5yHhCQFWft^(C8|8g8>2F!YqOLKa~7J08H)8F^ZH-efZB@ZXJ~ zT(a0lFKI?;(x<*u4`A6993`*0tGUsl(Hu&rn(J>`fzIwP^sx?39@ws{7%wzPLZ$PJ z#995E$!}H@`7y+9v!XiEEnS=NyL^P$=h;wcT!#1f0O$d&4-kMt*eqcbSR+Oa(M0#N zptRN|&VustR-$0nR(v0>?JUWGwo9Cr{)hh=#yEFr1fC~#zS2;!9){}Xs+coc+I8)Z zNK2GKSD`lMH6SgjgfwXAtaIbs4T=^HZuR#wpBY&hQjb*(fKc$Lx$gqPX8&Cxk~Dy$JjDYx}e+Ov95y z4F}{>ey9k7u8V;Wjv6M%V2jYrBOGKVdKFX~3 z=#m}Jy z8*wFam5bXjj&=(Z%xtzJC^a}wc4zFNa%FCTuBVP&XUirn?K@+s2WDkO8m#QJ7#t(n zcmMQ{xnVdo(^zZn0 z`kvoc^6;_tiFF+_ZHE{*O4fh^BiMSe*%nWHEI^=U-;*p*5@tm3K5Z|NufQVGX2`*W z+4($8g3Rr5Fp04;s<|Fbu{|!LA_kO(I69q{LxYYY>kCGpPeOI=0F{Lnd2L#jW_w{P z{&PNrpFLsQ`LCx$cmXIAbiX}EZYApH&U6i}7~jtWe>1;daPHo|L3b7}8cauS_>anq zZI2<|$H#{l008<8$N$_@yK}k1-00WiYVU4e>xX=)7V}IO`a`z*6X7%ZsX;Me4yvOu zX*$8v`mw>0bJ*Dec=?IXHIoB6Pm3fx4O@TLV*9n~Kn;n))Sx2e_WS8VR1LXfcji_V z69EnJc|WluZ1OteI-(*Gl5VA*CjH^jF9#OZf0e4q-EhZ@qcT5IU+NKdYKeB!yBnPZV9Ic5)wrs?&TJ)*%xs{1Pw3j8M6U> z(ZI72iF-oQSoEa2iM9+hglQxv+#SRYBKVCsm8)@M?OPhgsC9`0`d%41w4!ex7WVJ? z?R*xZf24+-P|cKe!d}ug3(JbI{G2@2f(=|JqwPB9lwKgcDTRse(SC^w2OYC`xJ0? z3mNDQDz_w3=|V#m3?M~{rkCKs8IXYboXLu*+U2$Fk>dv957E-YHnbzoyt zhOQ+wx`NkS!zl6nakRsix1>4pZ3#EI^{(8jLeUS*T4N{)-=2SRVoYCp2R(QOT?W8( zATY&1&1LBW;oG4$^adL;QC~!z1A?si#7w%vLML!W4HXs{m7YW-7fGii)-TDZ`Ul?G z&b`%aI?S$oXK!*4x0k%CKzu_N1~*(Amf&T#0rt!05H}ra*(-fNZ~RYuo!{3TdD|8V zb#nnP{PQT>r_aFWp(78xT7PMzU- zA3Q$_mV$VjwgN%|mp4?+kRR{3k*xppCP4}WpKmxrb+JFzY+L}S7*0vrN#fAizzeOL zy{d*mLKDB2^KJ{?Jvj5!B|eLujNn8SZ@QS^>U})aa(u7cC zb6$C|?(_Xz=7|~sYJsY^?He}F@#t|Q9~Z8LOZ_b`JD^5+4KBU5sIeUcxW8^oH@sq<-1{4i8 zaoq!JqT({3V5-3Q0qgpKvKLPtA1)OO=6f5AsGcj=Et1SeHt>#u<*WA{?_RhE7zjis zu}q)Sqiu_~&U zHc$ZBrooOZYYDxwVbqDOSrAlIQX*BsfiWPmL|UIf}^V^fy0;_rm78F!GU zZg{5ipVMb((gUB4ft!ledeDSosbbSs42M=$kOeMO%siGfID@S>fK&W-{WZ7UWYTGJ z<%_0GoF%68yMoOWD9bMnBIB;qw?d=_ka_kPd}O`o*b|NHr2t*?p_Y3MkF|MJeVF3; ztV?ctO?)~*l2&lJk@^7x@P5t$2linn?IOEgbLef+#ALIy=s)PueZCPQ;!E)VXi3;)ab4+} znxJtQ2;5N&9xBb)Tuz7l$(-GtcLVv?TmJfX-qt?Qz5Zv@oQYC*Uys|IQI)ZVZ@|B^ zL-elY6kjV7po~+Uu5ntyfW#Ds66P|8WZOq5yh!YnS3-pwUfciM);11y9>kuxv%$Dd zUVM)ZvooCe)gf-}kg?MpRxVdp*;R*L>)7qCPw90F{9^o_kw+8!QgWA($1@}JG||nx z>>ZuZ#y@GzkT3v#ZD;6&(|jAU7k>vk6f>Ydpoi7|^PUOCinHnsOEBWhZb1X&_lB6^ z_Gf`|9BJbO1s>HLps=!VmFT%(EEESn!uF=TZ;B%)YLmhqmrzmEJ-!8TS#T)8-9XU3 zz8Q*eWGopK5E$yQ+`Wu_yA<6uqZ}sg1IZgg*2#fN%Y~T!?!S!VAn{|Yq^^h&si3Ui zaWgfgba1UVb#k}A_I63gUWw*x>sguk9-HA(04B-h%_N3ZYfUs>@bBy8>vq5XNRfpf zp_G+>ZIxbGuiN|0kb?G>54J(o$M?}&WU0U6r^E5J@h=(jADy=#OQ`&Dg)0%6I8J@m zW%6|zFj}$R0q;1?B@^n~X|eIM%FwhW60%;d*m+8SUx~W}v^ClXFR_EizwhSfMZM(O zPrYucFf$#|54Y0s(68Xe^rcy9Ab3A}qXXI56qU^03=v2BTT*HC1_%RwZm>V=H2N6p zM^~gV0~Y{yPdqVu5booX0SSDDzmIE#Sg^#5kAL3m9m-+Iizg6#qs_R_>O=Uv%W0`C zU0Dt^cSoQn?Ek>4!QB$HKRBG|O)Fj!6m$D{@}?v3?|azsfZzXVU{wNH?Km~UC$A8x zv;}j8J*OkE3d81pgcfQI^Sb$&8@yJWxBm_k!Ex>7DOdyarMC5)ZemX z0e*1aa%)eg^x`t|SDHKcSV6VwZsFgYVmD;sS%QDd7&?9!Wt)Fub*a^f_@TxTIWAAliN z{9RbmwM0fE18bI>}V zBg+SnYLWb+BB7rLm=fp*XUqh4zYq7f@}YJ@+fakk>grkFltE#-B2HKBO)MIkum9Ls zp?_?kdZ!xmOwRbaU?B|Qr4rw=e`52ypUzdzRS;+%eo>4@-yn!gT+wZE-14%qq!_DbXA^}3d0sUH8I1K>FMSdHKK76pC*^QrtckFmnCf$#Xjtz0=j zo_7hIwxJj5&kC%L>d3Q}sn5G-Nv|Y+({sk2R!yHHoC6sLqr09-K1Jd|uSb}cKR7JG zZ^85{p=he@uRF6A1xK17YCVmwgryTFs3^}x-&SNKKZF!Fr`IDj12}yMBFro~UN6g+ zdvt{EG~UqHO!AlBXg9Vv4V{g@XMbsOQ>iNp_nf(lPaz^@i-yil z@wUzsUp1NMl|$jutQ_>0LzPr+Huh8B0j}CA&wb!Xlg%NP;OD?dQ}w~ZDpF797u23w z4|b2lYtzVRl=wk!6u)OuD~$5-`&^;%X2$JFtmR6^&B=upW@Q0A`*1wktX`#ECSo_v zl5jx3R4Q1Au)*nke~G~*S78ir&yMetXH$FR z)Q_JTew@3VrWzcO9HO7DpH9zOyAeONXRD3Z8~%N<$e(H(@ZJ{C-3^di8<1Ca5N|w? zZUm4WD1W>Eb4-K`qB{`=Qp3v*!PA8Ybb{ZRI4G)F$<-ojx#_5NsP=Fgn@Yb?ecsJx z&bgQh(cO(Ey*TW&)wdjM;Vs0oVvOT)-$a;sia%Rq=Q`?04bCA9OlrA5k^%BXTW zuX#Lp`SDhHnZf;;nd^HHdinTSfByL4Kcss4vEJg>dYM`NYH;~~w%#@`NchaUKEXr_ zsPu?udH4Gk82ou+$F6(Aktvr)hR?ZqZ~D8Op@}`EIu9nrQ!9UHpTXwRdt%}Xuk7?p z55?ieSY5h-O=Q#+3=U*gCoEo<)ZgfGrVo#$CS&cyPGs#AgMYygOdG~VSm?v{uN*ml zzSkQ51AG6u(5_`N@bMH@X{3?0CKTJpNda}>{8CNLS1dhK#pse^UJJw@si1zD#?Qus z54--+8g`6=p{sQ#XDF+)Rrm)7?|U4{!pLP{GW%Y@g!Bwlx_NM9&K*<$-UCnz+{uRF zPF_VmZ`OBocI zlF5ZPJEC>*-Jip53a!3?mQ$qr0zzB!vBl8_m~}j|F`=MN1fh zt|jW3OW(uvHd7JVNGE`vH&786-P5fpmPJ0#nOR@iM=N{htP=;i4%fv~{#rqK{rE4E zz_Z%It|5>1WJ0JhPGQ?h4q_jz|Ivz74_}}QR5^HHZRT%4m8g(6ITkrxr=zs$!<%&g zxQdhu)M20OU%GAiL~nsp2&^m7nhn1lqDDsbm&-aTv=;`&lh3#EYUY!&=a=nrQ|`4zn31j6Ld@!~Km$bN~Tk_yaPZE}o(LO#!1m|5%N@hyCx_A3HIBS;!X7E

}ATT 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 z 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

4f!#l=oKS-!N4m(RzbuGqw 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Π$D;D19#YYYQpLY^c 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 qUC%j2V$Uo6N) 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%0DJ=jDrIwqNW|Yo*bGTdo>*;GUcZ`HS&Dw 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� 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

;jR}AI;<^ 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 jkW#ZmjC7VEfre~Qbg+56?dDAU7(&)d# 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%0AGAwYfkB=B?6NN3n9xx;3P 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 Gv+=(xEx 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¥ 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

5JQW>v17DO8P?%`5%}NninVb4l@CWShYA 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%0AB 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≶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� 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

~Zj@-@zE%3?$EO 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