[apparmor] [patch] Get rid of global variable 'logger'
John Johansen
john.johansen at canonical.com
Tue Oct 20 19:44:08 UTC 2015
On 10/20/2015 11:31 AM, Christian Boltz wrote:
> Hello,
>
> the global variable 'logger' in aa.py is only used by aa-genprof.
>
> This patch changes aa_genprof to use the (new) logger_path() function,
> and moves the code for finding the logger path to that function.
>
> Also make the error message more helpful if logger can't be found.
>
>
> [ 98-make-logger-non-global.diff ]
acked-by: John Johansen <john.johansen at canonical.com>
>
> --- utils/aa-genprof 2015-06-25 21:32:37.420831338 +0200
> +++ utils/aa-genprof 2015-10-20 20:06:34.874304017 +0200
> @@ -136,7 +136,7 @@
> logmark = subprocess.check_output(['date | md5sum'], shell=True)
> logmark = logmark.decode('ascii').strip()
> logmark = re.search('^([0-9a-f]+)', logmark).groups()[0]
> - t=subprocess.call("%s -p kern.warn 'GenProf: %s'"%(apparmor.logger, logmark), shell=True)
> + t=subprocess.call("%s -p kern.warn 'GenProf: %s'"%(apparmor.logger_path(), logmark), shell=True)
>
> else:
> logmark = last_audit_entry_time()
> --- utils/apparmor/aa.py 2015-10-20 19:43:26.675490318 +0200
> +++ utils/apparmor/aa.py 2015-10-20 20:12:58.447357711 +0200
> @@ -82,7 +82,6 @@
> repo_cfg = None
>
> parser = None
> -logger = None
> profile_dir = None
> extra_profile_dir = None
> ### end our
> @@ -4372,6 +4371,12 @@
>
> return None
>
> +def logger_path():
> + logger = conf.find_first_file(cfg['settings']['logger']) or '/bin/logger'
> + if not os.path.isfile(logger) or not os.access(logger, os.EX_OK):
> + raise AppArmorException("Can't find logger!\nPlease make sure %s exists, or update the 'logger' path in logprof.conf." % logger)
> + return logger
> +
> ######Initialisations######
>
> conf = apparmor.config.Config('ini', CONFDIR)
> @@ -4392,6 +4397,3 @@
> if not os.path.isfile(parser) or not os.access(parser, os.EX_OK):
> raise AppArmorException('Can\'t find apparmor_parser')
>
> -logger = conf.find_first_file(cfg['settings']['logger']) or '/bin/logger'
> -if not os.path.isfile(logger) or not os.access(logger, os.EX_OK):
> - raise AppArmorException('Can\'t find logger')
>
>
> Regards,
>
> Christian Boltz
>
More information about the AppArmor
mailing list