~ubuntu-branches/ubuntu/wily/apparmor/wily

« back to all changes in this revision

Viewing changes to parser/parser.h

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2011-08-10 18:12:34 UTC
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: james.westby@ubuntu.com-20110810181234-b6obckg60cp99crg
Tags: upstream-2.7.0~beta1+bzr1774
ImportĀ upstreamĀ versionĀ 2.7.0~beta1+bzr1774

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include <sys/resource.h>
24
24
#include "immunix.h"
25
25
#include "libapparmor_re/apparmor_re.h"
 
26
#include "libapparmor_re/aare_rules.h"
26
27
 
27
28
typedef enum pattern_t pattern_t;
28
29
 
178
179
 
179
180
#define FLAG_CHANGEHAT_1_4  2
180
181
#define FLAG_CHANGEHAT_1_5  3
181
 
extern int kernel_supports_network;
182
 
extern int net_af_max_override;
183
 
extern int flag_changehat_version;
184
 
extern int read_implies_exec;
185
 
extern dfaflags_t dfaflags;
 
182
 
186
183
extern int preprocess_only;
187
 
extern FILE *ofile;
188
184
 
189
185
#define PATH_CHROOT_REL 0x1
190
186
#define PATH_NS_REL 0x2
227
223
#define list_last_entry(LIST, ENTRY) \
228
224
        for ((ENTRY) = (LIST); (ENTRY) && (ENTRY)->next; (ENTRY) = (ENTRY)->next)
229
225
 
230
 
/* Some external definitions to make b0rken programs happy */
 
226
/* from parser_common.c */
 
227
extern int regex_type;
 
228
extern int perms_create;
 
229
extern int net_af_max_override;
 
230
extern int kernel_load;
 
231
extern int kernel_supports_network;
 
232
extern int flag_changehat_version;
 
233
extern int conf_verbose;
 
234
extern int conf_quiet;
 
235
extern int names_only;
 
236
extern int option;
 
237
extern int current_lineno;
 
238
extern dfaflags_t dfaflags;
231
239
extern char *progname;
232
240
extern char *subdomainbase;
233
241
extern char *profilename;
234
242
extern char *profile_namespace;
 
243
extern char *current_filename;
 
244
extern FILE *ofile;
 
245
extern int read_implies_exec;
 
246
extern void pwarn(char *fmt, ...) __attribute__((__format__(__printf__, 1, 2)));
235
247
 
236
 
/* from parser_main */
 
248
/* from parser_main (cannot be used in tst builds) */
237
249
extern int force_complain;
238
 
extern int conf_quiet;
239
 
extern int conf_verbose;
240
 
extern int kernel_load;
241
 
extern int regex_type;
242
 
extern int perms_create;
243
250
extern struct timespec mru_tstamp;
244
251
extern void update_mru_tstamp(FILE *file);
245
 
extern void pwarn(char *fmt, ...) __attribute__((__format__(__printf__, 1, 2)));
246
252
 
 
253
/* provided by parser_lex.l (cannot be used in tst builds) */
247
254
extern FILE *yyin;
248
255
extern void yyrestart(FILE *fp);
249
256
extern int yyparse(void);
339
346
extern void dump_policy_names(void);
340
347
extern int die_if_any_regex(void);
341
348
void free_policies(void);
 
349
 
 
350
#ifdef UNIT_TEST
 
351
/* For the unit-test builds, we must include function stubs for stuff that
 
352
 * only exists in the excluded object files; everything else should live
 
353
 * in parser_common.c.
 
354
 */
 
355
 
 
356
/* parser_yacc.y */
 
357
void yyerror(char *msg, ...)
 
358
{
 
359
        va_list arg;
 
360
        char buf[PATH_MAX];
 
361
 
 
362
        va_start(arg, msg);
 
363
        vsnprintf(buf, sizeof(buf), msg, arg);
 
364
        va_end(arg);
 
365
 
 
366
        PERROR(_("AppArmor parser error: %s\n"), buf);
 
367
 
 
368
        exit(1);
 
369
}
 
370
 
 
371
#define MY_TEST(statement, error)               \
 
372
        if (!(statement)) {                     \
 
373
                PERROR("FAIL: %s\n", error);    \
 
374
                rc = 1;                         \
 
375
        }
 
376
 
 
377
#endif