165 Commits

Author SHA1 Message Date
Franco Fichtner
09f45fbdbf system: rewrite the default route handling
With this, there is consistency in setting the default route
and associated marker file.  Nothing is done before the decision
is final, so we may not end up with a missing route after an
attempt to reconfigure for something that doesn't work anyway.

DHCPv4 and PPP still do this manually, but we will have to route
them through the same logic instead of them manually handling their
routes.  6rd and 6to4 may have a similar issue as well.

While here, swap the system_routing_configure() arguments to
align with the way other configure functions present their
arguments (verbose print flag first).

Gateway monitoring and default switching improvement since 2016.
Push $keep into default handling, it may be useful in general to
avoid spurious switches.  It could also be a default probably.
2018-03-16 07:41:17 +00:00
Franco Fichtner
ed8ec2d92d rc: switch a few things around, related to previous 2018-01-13 15:05:16 +01:00
Franco Fichtner
27fe55f07e rc: mv VPN init up a bit so that filter is reloaded
PR: https://forum.opnsense.org/index.php?topic=6843.0
2018-01-13 14:45:37 +01:00
Franco Fichtner
83670156ce openvpn: start later alongside IPsec
Matches previous, no apparent reason not to do this.
2017-12-20 00:43:36 +01:00
Franco Fichtner
ed9005ada5 ipsec: move to plugin bootup hook
Eventually, OpenVPN should be loaded alongside IPsec like
we do in newwanip scripts, but that requires some research.
2017-12-20 00:33:49 +01:00
Ad Schellevis
e8a4fc1b46 ditch filterdns, since we've refactored the aliases in https://github.com/opnsense/core/issues/1971 the only use for this is ipsec, but it's doubtful if it's required. see https://github.com/opnsense/core/issues/2003 2017-12-18 20:44:16 +01:00
Franco Fichtner
d87c6ff556 Scripts: add a license generator for GitHub 2017-08-05 20:21:35 +02:00
Franco Fichtner
335b591dae rc: advertise live mode just above the login prompt 2017-05-29 08:04:14 +02:00
Franco Fichtner
044d519f43 config: change migration a tiny bit 2017-05-11 13:55:54 +02:00
Franco Fichtner
b306aaae5b config: migration could be stripped, global vars are always global 2017-05-11 13:24:15 +02:00
Franco Fichtner
9c88e64134 system: always use reload except for deferred startup
PR: https://forum.opnsense.org/index.php?topic=5140.0
2017-05-09 07:49:27 +02:00
Franco Fichtner
7b43870f49 system: move the webgui to the plugin system 2017-04-26 17:56:13 +02:00
Franco Fichtner
fb93a51c3b rc: remove factory_shipped_* trickery #1540 2017-04-12 18:20:25 +02:00
Franco Fichtner
c7a488dcb5 rrd: naming conventions and a side note
We have a function pair rrd_import() / rrd_export() now, which do
wildly different things even though they've been used for a single
purpose:

(1) rrd_export() writes a string, appends it to the config.xml

(2) rrd_import() takes a parsed config portion, but not as an
    argument, rather as a global config element

(3) There was also an older backup clue which exported files, but
    simply packed them up for restore after boot

If we can get the system to unify the usage we'll end up with a
neat way of backing, restoring and migrating RRD data, although
I'm not sure if this can be fully compatible with the old files.
2017-03-28 01:06:53 +02:00
Franco Fichtner
3d5d4444a7 openssh: start earlier, eventually use this spot for web GUI too 2017-03-27 06:46:27 +02:00
Franco Fichtner
aff94b55a3 openvpn: naming and call conventions, pull more internal code into plugin
Looking at openvpn_configure_server() and openvpn_configure_client()
it becomes a bit clearer why they take a config.xml subset: it's beause
the write_config() ordering was flipped.  We could probably now pass
an ID and let the code figure out if it is a client or server...
2017-03-22 08:22:52 +01:00
Franco Fichtner
399b9090a4 dns: make DNS services fully pluggable #1491 2017-03-21 08:53:23 +01:00
Franco Fichtner
b3c7677827 rc: slightly restructure bootup and put lo0 creation back 2017-03-18 13:18:55 +01:00
Franco Fichtner
0f7c882cab openssh: work for #1480 2017-03-18 13:14:54 +01:00
Franco Fichtner
95eebf1cb0 rc: convert dyndns/rfc2136 bootup calls 2017-03-18 12:47:33 +01:00
Franco Fichtner
180d611a2b ipsec: move/merge into plugins 2017-03-11 18:45:07 +01:00
Franco Fichtner
9b694b705d start to hide IPsec and OpenVPN for pluginification 2017-03-11 17:51:54 +01:00
Franco Fichtner
ce32fb747b rc: move importer to very early spot, add timeout #1372 2017-02-27 09:15:35 +01:00
Franco Fichtner
dac39c534a rc: bring back the early installer as optional importer
This sort of reverts commit 5f319ade89f413b3181efab6b7932108e6635ec7.
2017-02-26 19:45:01 +01:00
Franco Fichtner
5f319ade89 installer: kill the early installer, it needs a qualified tty hint 2017-02-26 16:59:19 +01:00
Franco Fichtner
bdd1be3962 plugins: not going away anytime soon
If we want to be pluggable, simply delete contents of
/usr/local/etc/inc/plugins.inc.d/ and be done with it.
2017-02-22 15:49:22 +01:00
Franco Fichtner
762837685a rc: chain local_sync_accounts() into system_login_configure() 2016-12-18 22:43:26 +01:00
Ad Schellevis
643d2eef83 (auth/installer) force unlocked account, so pam can use standard pam_unix.so 2016-12-18 17:57:22 +01:00
Franco Fichtner
8cfbc3c218 rc: wrap this around for consistency
Early installer is really about an untained system, so
we defer *all* system setup and only keep the loopback
configuration above it.  This way, after config import
from the installer system_login_configure() is up-to-date.
2016-12-17 16:49:28 +01:00
Franco Fichtner
4ad78901d6 rc: start loopback earlier, omits manual installer glue 2016-12-17 12:43:51 +01:00
Franco Fichtner
6922394d13 rc: extensive console muting on bootup; closes #1256 2016-12-09 12:28:14 +01:00
Franco Fichtner
81bcdb73e3 rc: $verbose conversion for interfaces_configure() 2016-12-09 12:12:41 +01:00
Franco Fichtner
4346d549ca rc: $verbose conversion for OpenVPN 2016-12-09 10:55:49 +01:00
Franco Fichtner
c1bd019603 rc: unwind nested calls and $verbose for system_resolvconf_generate() 2016-12-09 09:48:07 +01:00
Franco Fichtner
afa861d0cd rc: more $verbose conversion 2016-12-07 22:46:52 +01:00
Franco Fichtner
c25259d6b1 rc: remove spurious boot code
Right now, kern.hz is 1000 by default, and, more surprisingly,
net.inet.tcp.rexmit_min is 30 in FreeBSD too...
2016-12-07 08:09:04 +01:00
Franco Fichtner
2a45301e48 rc: $verbose conversion, simplify services_routing_enable() 2016-12-06 20:27:14 +01:00
Franco Fichtner
052c9599fc rc: more $verbose conversion 2016-12-03 22:01:36 +01:00
Franco Fichtner
88aab655a4 rc: further boot rework 2016-11-29 08:06:07 +01:00
Franco Fichtner
d4fe7fbc71 rc: more $verbose conversion 2016-11-28 15:53:49 +01:00
Franco Fichtner
7c65a076d6 rc: remove cruft, it's gone out of style
See: https://github.com/pfsense/pfsense/commit/e93db4a1f8e
2016-11-28 14:04:26 +01:00
Franco Fichtner
6b0b2569cd system: make sure vital kernel modules are loaded and refactor
This partially reverts commit 8ecaf5f9102e329f6163ddc16f84647040d53485.
2016-11-28 09:21:17 +01:00
Franco Fichtner
85e6220415 system: deprecate 'enableserial' and refactor a bit
We don't need the flag anymore, it must be set through primary or
secondary console explicitly.
2016-11-26 13:09:32 +01:00
Franco Fichtner
a5fc46bd97 dnsmasq: refactor services_dhcpleases_configure() for #1266 2016-11-22 20:10:54 +01:00
Franco Fichtner
fd987e639c ntpd: it's a plugin! 2016-11-20 23:36:31 +01:00
Franco Fichtner
04ccf983d4 plugins: allow to configure through multiple call sites
This is the glue needed to be entirely plugin-agnostic, it only
needs new hooks for spots we haven't pluginified yet.  The dns
subsystem is another likely candidate in the long run.

Allows to move these plugins away from core: bsnmpd, igmpproxy,
relayd, miniupnpd.  ACL and menu entries pending...
2016-11-20 13:38:13 +01:00
Franco Fichtner
79b87986d5 igmpproxy: pluginify 2016-11-20 12:15:27 +01:00
Franco Fichtner
a0b769e85d bsnmpd: pluginify 2016-11-20 11:49:14 +01:00
Franco Fichtner
b508d4d9f7 services: rename again for consistency 2016-11-20 11:16:10 +01:00
Franco Fichtner
79da7c9a13 dnsmasq: pluginification 2016-11-19 08:52:34 +01:00