diff options
Diffstat (limited to 'sd_login/cgroup_skip.go')
-rw-r--r-- | sd_login/cgroup_skip.go | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/sd_login/cgroup_skip.go b/sd_login/cgroup_skip.go deleted file mode 100644 index 7eb2be8..0000000 --- a/sd_login/cgroup_skip.go +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright (C) 2016-2017 Luke Shumaker <lukeshu@sbcglobal.net> -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package sd_login - -import ( - "strconv" - "strings" -) - -func (cgroup _Cgroup) SkipPath(prefix _Cgroup) (_Cgroup, bool) { - //skip: SkipPath(prefix _Cgroup) : SkipPath(prefix) - rest, ok := path_startswith(string(cgroup), string(prefix)) - if ok { - return _Cgroup(rest), true - } else { - return cgroup, false - } -} - -// Skip (*.slice){1,} -func (cgroup _Cgroup) SkipSlices() (_Cgroup, bool) { - //skip: SkipSlices() : SkipSlices() - cg := string(cgroup) - skipped := false - for { - cg = strings.TrimLeft(cg, "/") - part, rest := split2(cg, '/') - if !valid_slice_name(part) { - return _Cgroup(cg), skipped - } - skipped = true - cg = rest - } -} - -// Skip user@*.service -func (cgroup _Cgroup) SkipUserManager() (_Cgroup, bool) { - //skip: SkipUserManager() : SkipUserManager() - part, rest := split2(strings.TrimLeft(string(cgroup), "/"), '/') - uid_str, ok := trimPrefixSuffix(part, "user@", ".service") - if !ok { - return cgroup, false - } - _, err := strconv.Atoi(uid_str) - if err != nil { - return cgroup, false - } - return _Cgroup(rest), true -} - -// Skip session-*.scope -func (cgroup _Cgroup) SkipSession() (_Cgroup, bool) { - //skip: SkipSession() : SkipSession() - part, rest := split2(strings.TrimLeft(string(cgroup), "/"), '/') - session, ok := trimPrefixSuffix(part, "session-", ".scope") - if !ok { - return cgroup, false - } - if !valid_session_name(session) { - return cgroup, false - } - return _Cgroup(rest), true -} - -// Skip (/*.slice){0,}/(user@*.service|session-*.scope) -func (cgroup _Cgroup) SkipUserPrefix() (_Cgroup, bool) { - //skip: SkipUserPrefix() : SkipUserPrefix() - cgroup, _ = cgroup.SkipSlices() - cgroup, ok := cgroup.SkipUserManager() - if ok { - return cgroup, ok - } - return cgroup.SkipSession() -} - -// Skip cgGetRootPath -func (cgroup _Cgroup) SkipSystemPrefix() (_Cgroup, bool) { - //skip: SkipSystemPrefix() : SkipSystemPrefix() - - rootpath, err := cgGetRootPath() - if err != nil { - return cgroup, false - } - - return cgroup.SkipPath(rootpath) -} |