diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/pkg-utils.inc | 12 | ||||
-rw-r--r-- | etc/inc/shaper.inc | 3 |
2 files changed, 8 insertions, 7 deletions
diff --git a/etc/inc/pkg-utils.inc b/etc/inc/pkg-utils.inc index a443c28..f8c187c 100644 --- a/etc/inc/pkg-utils.inc +++ b/etc/inc/pkg-utils.inc @@ -276,11 +276,13 @@ function get_pkg_depends($pkg_name, $filetype = ".xml", $format = "files", $retu function uninstall_package_from_name($pkg_name) { global $config; $id = get_pkg_id($pkg_name); - $pkg_depends =& $config['installedpackages']['package'][$id]['depends_on_package']; - delete_package($pkg_depends[0], $pkg_name); - if (is_array($pkg_depends)) { - foreach ($pkg_depends as $pkg_depend) - remove_freebsd_package($pkg_depend); + if ($id >= 0) { + $pkg_depends =& $config['installedpackages']['package'][$id]['depends_on_package']; + delete_package($pkg_depends[0], $pkg_name); + if (is_array($pkg_depends)) { + foreach ($pkg_depends as $pkg_depend) + remove_freebsd_package($pkg_depend); + } } delete_package_xml($pkg_name); } diff --git a/etc/inc/shaper.inc b/etc/inc/shaper.inc index d366180..9a023eb 100644 --- a/etc/inc/shaper.inc +++ b/etc/inc/shaper.inc @@ -3443,8 +3443,7 @@ class layer7 { } function delete_l7c() { - $l7pid = `"/bin/pgrep -f 'ipfw-classifyd .* -p ". $l7rules->GetRPort() . "'"`; - mwexec("/bin/kill {$l7pid}"); + mwexec("/bin/pkill -f 'ipfw-classifyd .* -p ". $l7rules->GetRPort() . "'", true); unset_l7_object_by_reference($this->GetRName()); cleanup_l7_from_rules($this->GetRName()); } |