~ubuntu-branches/ubuntu/natty/ntp/natty

« back to all changes in this revision

Viewing changes to libisc/lib.c

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-11-30 11:14:31 UTC
  • mfrom: (4.1.7 squeeze)
  • Revision ID: james.westby@ubuntu.com-20101130111431-7r00o0ck9qzwmm9f
Tags: 1:4.2.6.p2+dfsg-1ubuntu1
* Merge from debian unstable, remaining changes are:
  + debian/ntp.conf, debian/ntpdate.default: Change default server to
    ntp.ubuntu.com.
  + debian/ntpdate.ifup: Stop ntp before running ntpdate when an interface
    comes up, then start again afterwards.
  + debian/ntp.init, debian/rules: Only stop when entering single user mode.
  + Add enforcing AppArmor profile (LP: #382905):
    - debian/control: add Conflicts/Replaces on apparmor-profiles <
      2.3.1+1403-0ubuntu10 (since we are now shipping usr.sbin.ntpd) and
      apparmor < 2.3.1+1403-0ubuntu10 (since we are now shipping tunables/ntpd)
    - debian/control: add Suggests on apparmor
    - debian/ntp.dirs: add apparmor directories
    - debian/ntp.preinst: force complain on certain upgrades
    - debian/ntp.postinst: reload apparmor profile
    - debian/ntp.postrm: remove the force-complain file
    - add debian/apparmor-profile*
    - debian/rules: install apparmor-profile and apparmor-profile.tunable
    - debian/README.Debian: add note on AppArmor
  + debian/{control,rules}: add and enable hardened build for PIE
    (Debian bug 542721).
  + debian/apparmor-profile: adjust location of drift files (LP: #456308)
  + debian/rules, debian/ntp.dirs, debian/source_ntp.py: Add apport hook.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (C) 1999-2001  Internet Software Consortium.
3
 
 *
4
 
 * Permission to use, copy, modify, and distribute this software for any
5
 
 * purpose with or without fee is hereby granted, provided that the above
6
 
 * copyright notice and this permission notice appear in all copies.
7
 
 *
8
 
 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
9
 
 * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
10
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
11
 
 * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
12
 
 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
13
 
 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14
 
 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
15
 
 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
 
 */
17
 
 
18
 
/* $Id: lib.c,v 1.9 2001/11/19 03:08:23 mayer Exp $ */
19
 
 
20
 
#include <config.h>
21
 
 
22
 
#include <stdio.h>
23
 
#include <stdlib.h>
24
 
 
25
 
#include <isc/once.h>
26
 
#include <isc/msgs.h>
27
 
#include <isc/lib.h>
28
 
 
29
 
/***
30
 
 *** Globals
31
 
 ***/
32
 
 
33
 
LIBISC_EXTERNAL_DATA isc_msgcat_t *             isc_msgcat = NULL;
34
 
 
35
 
 
36
 
/***
37
 
 *** Private
38
 
 ***/
39
 
 
40
 
static isc_once_t               msgcat_once = ISC_ONCE_INIT;
41
 
 
42
 
 
43
 
/***
44
 
 *** Functions
45
 
 ***/
46
 
 
47
 
static void
48
 
open_msgcat(void) {
49
 
        isc_msgcat_open("libisc.cat", &isc_msgcat);
50
 
}
51
 
 
52
 
void
53
 
isc_lib_initmsgcat(void) {
54
 
        isc_result_t result;
55
 
 
56
 
        /*
57
 
         * Initialize the ISC library's message catalog, isc_msgcat, if it
58
 
         * has not already been initialized.
59
 
         */
60
 
 
61
 
        result = isc_once_do(&msgcat_once, open_msgcat);
62
 
        if (result != ISC_R_SUCCESS) {
63
 
                /*
64
 
                 * Normally we'd use RUNTIME_CHECK() or FATAL_ERROR(), but
65
 
                 * we can't do that here, since they might call us!
66
 
                 * (Note that the catalog might be open anyway, so we might
67
 
                 * as well try to  provide an internationalized message.)
68
 
                 */
69
 
                fprintf(stderr, "%s:%d: %s: isc_once_do() %s.\n",
70
 
                        __FILE__, __LINE__,
71
 
                        isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
72
 
                                       ISC_MSG_FATALERROR, "fatal error"),
73
 
                        isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
74
 
                                       ISC_MSG_FAILED, "failed"));
75
 
                abort();
76
 
        }
77
 
}