~ubuntu-branches/ubuntu/karmic/dante/karmic

« back to all changes in this revision

Viewing changes to sockd/serr.c

  • Committer: Bazaar Package Importer
  • Author(s): Thijs Kinkhorst
  • Date: 2006-10-19 12:09:39 UTC
  • mfrom: (3.1.1 dapper)
  • Revision ID: james.westby@ubuntu.com-20061019120939-t818x24e2tn8be5k
Tags: 1.1.18-2.1
* Non-maintainer upload for RC bug.
* Make sure changelogs are installed into all packages (Closes: #393568).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003
3
 
 *      Inferno Nettverk A/S, Norway.  All rights reserved.
4
 
 *
5
 
 * Redistribution and use in source and binary forms, with or without
6
 
 * modification, are permitted provided that the following conditions
7
 
 * are met:
8
 
 * 1. The above copyright notice, this list of conditions and the following
9
 
 *    disclaimer must appear in all copies of the software, derivative works
10
 
 *    or modified versions, and any portions thereof, aswell as in all
11
 
 *    supporting documentation.
12
 
 * 2. All advertising materials mentioning features or use of this software
13
 
 *    must display the following acknowledgement:
14
 
 *      This product includes software developed by
15
 
 *      Inferno Nettverk A/S, Norway.
16
 
 * 3. The name of the author may not be used to endorse or promote products
17
 
 *    derived from this software without specific prior written permission.
18
 
 *
19
 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20
 
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21
 
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22
 
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23
 
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24
 
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
 
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 
 *
30
 
 * Inferno Nettverk A/S requests users of this software to return to
31
 
 *
32
 
 *  Software Distribution Coordinator  or  sdc@inet.no
33
 
 *  Inferno Nettverk A/S
34
 
 *  Oslo Research Park
35
 
 *  Gaustadall�en 21
36
 
 *  NO-0349 Oslo
37
 
 *  Norway
38
 
 *
39
 
 * any improvements or extensions that they make and grant Inferno Nettverk A/S
40
 
 * the rights to redistribute these changes.
41
 
 *
42
 
 */
43
 
 
44
 
#include "common.h"
45
 
 
46
 
static const char rcsid[] =
47
 
"$Id: serr.c,v 1.7 2003/07/01 13:21:31 michaels Exp $";
48
 
 
49
 
void
50
 
#ifdef STDC_HEADERS
51
 
serr(int eval, const char *fmt, ...)
52
 
#else
53
 
serr(eval, fmt, va_alist)
54
 
        int eval;
55
 
        const char *fmt;
56
 
        va_dcl
57
 
#endif  /* STDC_HEADERS */
58
 
{
59
 
 
60
 
        if (fmt != NULL) {
61
 
                va_list ap;
62
 
                char buf[2048];
63
 
                size_t bufused;
64
 
 
65
 
#ifdef STDC_HEADERS
66
 
                /* LINTED pointer casts may be troublesome */
67
 
                va_start(ap, fmt);
68
 
#else
69
 
                va_start(ap);
70
 
#endif  /* STDC_HEADERS */
71
 
 
72
 
                bufused = vsnprintf(buf, sizeof(buf), fmt, ap);
73
 
 
74
 
                bufused += snprintfn(&buf[bufused], sizeof(buf) - bufused,
75
 
                ": %s (errno = %d)", strerror(errno), errno);
76
 
 
77
 
                slog(LOG_ERR, "%s", buf);
78
 
 
79
 
                /* LINTED expression has null effect */
80
 
                va_end(ap);
81
 
        }
82
 
 
83
 
#if SOCKS_SERVER
84
 
        sockdexit(-eval);
85
 
#else
86
 
        exit(eval);
87
 
#endif
88
 
}
89
 
 
90
 
void
91
 
#ifdef STDC_HEADERS
92
 
serrx(int eval, const char *fmt, ...)
93
 
#else
94
 
serrx(eval, fmt, va_alist)
95
 
      int eval;
96
 
      const char *fmt;
97
 
      va_dcl
98
 
#endif  /* STDC_HEADERS */
99
 
{
100
 
 
101
 
        if (fmt != NULL) {
102
 
                va_list ap;
103
 
 
104
 
#ifdef STDC_HEADERS
105
 
                /* LINTED pointer casts may be troublesome */
106
 
                va_start(ap, fmt);
107
 
#else
108
 
                va_start(ap);
109
 
#endif  /* STDC_HEADERS */
110
 
                vslog(LOG_ERR, fmt, ap);
111
 
 
112
 
                /* LINTED expression has null effect */
113
 
                va_end(ap);
114
 
        }
115
 
 
116
 
#if SOCKS_SERVER
117
 
        sockdexit(-eval);
118
 
#else
119
 
        exit(eval);
120
 
#endif
121
 
}
122
 
 
123
 
void
124
 
#ifdef STDC_HEADERS
125
 
swarn(const char *fmt, ...)
126
 
#else
127
 
swarn(fmt, va_alist)
128
 
        const char *fmt;
129
 
        va_dcl
130
 
#endif  /* STDC_HEADERS */
131
 
{
132
 
 
133
 
        if (fmt != NULL) {
134
 
                va_list ap;
135
 
                char buf[2048];
136
 
                size_t bufused;
137
 
 
138
 
#ifdef STDC_HEADERS
139
 
        /* LINTED pointer casts may be troublesome */
140
 
                va_start(ap, fmt);
141
 
#else
142
 
                va_start(ap);
143
 
#endif  /* STDC_HEADERS */
144
 
 
145
 
                bufused = vsnprintf(buf, sizeof(buf), fmt, ap);
146
 
 
147
 
                bufused += snprintfn(&buf[bufused], sizeof(buf) - bufused,
148
 
                ": %s (errno = %d)", strerror(errno), errno);
149
 
 
150
 
                slog(LOG_ERR, "%s", buf);
151
 
 
152
 
                /* LINTED expression has null effect */
153
 
                va_end(ap);
154
 
        }
155
 
}
156
 
 
157
 
void
158
 
#ifdef STDC_HEADERS
159
 
swarnx(const char *fmt, ...)
160
 
#else
161
 
swarnx(fmt, va_alist)
162
 
        const char *fmt;
163
 
        va_dcl
164
 
#endif  /* STDC_HEADERS */
165
 
{
166
 
 
167
 
        if (fmt != NULL) {
168
 
                va_list ap;
169
 
 
170
 
#ifdef STDC_HEADERS
171
 
                /* LINTED pointer casts may be troublesome */
172
 
                va_start(ap, fmt);
173
 
#else
174
 
                va_start(ap);
175
 
#endif  /* STDC_HEADERS */
176
 
 
177
 
                vslog(LOG_ERR, fmt, ap);
178
 
 
179
 
                /* LINTED expression has null effect */
180
 
                va_end(ap);
181
 
        }
182
 
}