(RADIATOR) Bug? changing EUID/EGID with User/Group params doesn't work
Karl Gaissmaier
karl.gaissmaier at rz.uni-ulm.de
Wed Sep 4 08:39:04 CDT 2002
Hi Hugh or Mike,
I tried to set the gloabl parameters "User" and "Group" to change
the effective ID's for better security. I got the following error
in radiatorlog (trace 4):
Wed Sep 4 14:17:06 2002: NOTICE: SIGHUP received: restarting
Wed Sep 4 14:17:07 2002: DEBUG: Reading group file /etc/group
Wed Sep 4 14:17:07 2002: DEBUG: Reading users file /radiator/etc/test-users
Wed Sep 4 14:17:07 2002: DEBUG: Reading users file /radiator/etc/freeway-users
Wed Sep 4 14:17:07 2002: DEBUG: Reading users file /radiator/etc/ulmathome-users
Wed Sep 4 14:17:07 2002: DEBUG: Reading users file /radiator/etc/wlan-users
Wed Sep 4 14:17:07 2002: ERR: Could not set Group to radiusd: Not owner
Wed Sep 4 14:17:07 2002: INFO: Server started: Radiator 3.3 on mizar
the config file looks like:
> AuthPort 1812
> AcctPort 1813
>
> # Set this to the directory where your logfile and details file are to go
> LogDir /radiator/log
> DbDir /radiator/etc
> DefineGlobalVar AcctDir /radiator/accounting
>
> PidFile %D/pidfile
> DictionaryFile %D/dictionary.my
>
> User radiusd
> Group radiusd
>
> #
> ############ undef global Logfile #################################
> #
> LogFile
> #
> ############ define general Logfile #################################
> #
> <Log FILE>
> Trace 4
> Filename %L/radiatorlog
> </Log>
> #
> ############ define Authentication Logfiles #########################
> #
> <AuthLog FILE>
> Identifier authlogger
> Filename %L/authlog/%{Client:Identifier}-authlog
> LogSuccess 1
> LogFailure 1
> SuccessFormat %q %d.%m.%Y %H:%M:%S %T from %C for %U: OK
> FailureFormat %q %d.%m.%Y %H:%M:%S %T from %C for %U: FAIL
> </Authlog>
> ....
> ....
the uid and gid for radiusd are defined in /etc/passwd and /etc/group
to 114.
truss delivers the following output. I prefixed the output with line numbers
for better referencing (see below):
- everything works well until line 242, the config file gets read
and the then the different files are openend/read. At line 243 the
seteuid funtion call with uid 114 for user radiusd is called.
243 19527: seteuid(114) = 0
244 19527: getuid() = 0 [114]
245 19527: door_info(4, 0xFFBFF3E0) = 0
246 19527: door_call(4, 0xFFBFF3C8) = 0
247 19527: open("/etc/shadow", O_RDONLY) Err#13 EACCES
248 19527: setgroups(3, 0xFFBFF7B8) Err#1 EPERM
249 19527: setegid(114) Err#1 EPERM
after the seteuid an additional open to /etc/shadow results in EACCES
and the setgroups and setegid function calls results in EPERM.
Perhaps you should call setgroups and setegid first and then
the seteuid?
Anyway, if you read later on again and again /etc/shadow then
you will not be able to change to EUID/EGID less than root.
Please fix the problem with order and document the limitations
in the reference manual, that it will not be possible if someone
uses system /etc/shadow. I just tried it, I didn't know that you
will read this file more than once.
Here comes the whole truss output.
Best regards
Charly
P.S. versions
SunOS mizar 5.9 Generic sun4u sparc SUNW,UltraSPARC-IIi-cEngine
This is perl, v5.6.1 built for sun4-solaris
This is Radiator 3.3 on mizar
--
Karl Gaissmaier Computing Center,University of Ulm,Germany
Email:karl.gaissmaier at rz.uni-ulm.de Network Administration
Tel.: ++49 731 50-22499
and here comes now really the truss output :-)
1 mizar:...//# truss -f -p 19527
2 19527: poll(0xFFBFF828, 2, 1000) = 0
3 19527: time() = 1031141084
4 19527: time() = 1031141084
5 19527: poll(0xFFBFF828, 2, 1000) (sleeping...)
6 19527: poll(0xFFBFF828, 2, 1000) = 0
7 19527: time() = 1031141085
8 19527: time() = 1031141085
9 19527: poll(0xFFBFF828, 2, 1000) = 0
10 19527: time() = 1031141086
11 19527: time() = 1031141086
12 19527: poll(0xFFBFF828, 2, 1000) = 0
13 19527: time() = 1031141087
14 19527: time() = 1031141087
15 19527: poll(0xFFBFF828, 2, 1000) = 0
16 19527: time() = 1031141088
17 19527: time() = 1031141088
18 19527: poll(0xFFBFF828, 2, 1000) = 0
19 19527: time() = 1031141089
20 19527: time() = 1031141089
21 19527: poll(0xFFBFF828, 2, 1000) = 0
22 19527: time() = 1031141090
23 19527: time() = 1031141090
24 19527: poll(0xFFBFF828, 2, 1000) = 0
25 19527: time() = 1031141091
26 19527: time() = 1031141091
27 19527: Received signal #1, SIGHUP, in poll() [caught]
28 19527: poll(0xFFBFF828, 2, 1000) Err#91 ERESTART
29 19527: time() = 1031141092
30 19527: stat64("/radiator/log", 0x00109538) = 0
31 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 6
32 19527: llseek(6, 0, SEEK_END) = 38801
33 19527: fstat64(6, 0x00109658) = 0
34 19527: fcntl(6, F_SETFD, 0x00000001) = 0
35 19527: fstat64(6, 0xFFBFEF88) = 0
36 19527: fstat64(6, 0xFFBFEE30) = 0
37 19527: ioctl(6, TCGETA, 0xFFBFEF14) Err#25 ENOTTY
38 19527: write(6, " W e d S e p 4 1".., 62) = 62
39 19527: close(6) = 0
40 19527: setcontext(0xFFBFF510)
41 19527: time() = 1031141092
42 19527: time() = 1031141092
43 19527: time() = 1031141092
44 19527: open64("/radiator/etc/radiator-config", O_RDONLY) = 6
45 19527: fstat64(6, 0x00109658) = 0
46 19527: fcntl(6, F_SETFD, 0x00000001) = 0
47 19527: fstat64(6, 0xFFBFF738) = 0
48 19527: fstat64(6, 0xFFBFF5E0) = 0
49 19527: ioctl(6, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
50 19527: read(6, " B i n d A d d r e s s\t".., 8192) = 3851
51 19527: stat64("/etc/shadow", 0x00109538) = 0
52 19527: open64("/etc/shadow", O_RDONLY) = 7
53 19527: fstat64(7, 0x00109658) = 0
54 19527: fcntl(7, F_SETFD, 0x00000001) = 0
55 19527: fstat64(7, 0xFFBFF738) = 0
56 19527: fstat64(7, 0xFFBFF5E0) = 0
57 19527: ioctl(7, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
58 19527: read(7, " r o o t : x x x x x".., 8192) = 8192
...
84 19527: read(7, 0x0078E80C, 8192) = 0
85 19527: llseek(7, 0, SEEK_CUR) = 199169
86 19527: close(7) = 0
87 19527: stat64("/etc/group", 0x00109538) = 0
88 19527: time() = 1031141092
89 19527: stat64("/radiator/log", 0x00109538) = 0
90 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 7
91 19527: llseek(7, 0, SEEK_END) = 38863
92 19527: fstat64(7, 0x00109658) = 0
93 19527: fcntl(7, F_SETFD, 0x00000001) = 0
94 19527: fstat64(7, 0xFFBFF678) = 0
95 19527: fstat64(7, 0xFFBFF520) = 0
96 19527: ioctl(7, TCGETA, 0xFFBFF604) Err#25 ENOTTY
97 19527: write(7, " W e d S e p 4 1".., 63) = 63
98 19527: close(7) = 0
99 19527: open64("/etc/group", O_RDONLY) = 7
100 19527: fstat64(7, 0x00109658) = 0
101 19527: fcntl(7, F_SETFD, 0x00000001) = 0
102 19527: fstat64(7, 0xFFBFF738) = 0
103 19527: fstat64(7, 0xFFBFF5E0) = 0
104 19527: ioctl(7, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
105 19527: read(7, " r o o t : : 0 : r o o t".., 8192) = 329
106 19527: read(7, 0x0078E80C, 8192) = 0
107 19527: llseek(7, 0, SEEK_CUR) = 329
108 19527: close(7) = 0
109 19527: stat64("/radiator/etc/test-users", 0x00109538) = 0
110 19527: time() = 1031141092
111 19527: stat64("/radiator/log", 0x00109538) = 0
112 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 7
113 19527: llseek(7, 0, SEEK_END) = 38926
114 19527: fstat64(7, 0x00109658) = 0
115 19527: fcntl(7, F_SETFD, 0x00000001) = 0
116 19527: fstat64(7, 0xFFBFF678) = 0
117 19527: fstat64(7, 0xFFBFF520) = 0
118 19527: ioctl(7, TCGETA, 0xFFBFF604) Err#25 ENOTTY
119 19527: write(7, " W e d S e p 4 1".., 77) = 77
120 19527: close(7) = 0
121 19527: open64("/radiator/etc/test-users", O_RDONLY) = 7
122 19527: fstat64(7, 0x00109658) = 0
123 19527: fcntl(7, F_SETFD, 0x00000001) = 0
124 19527: fstat64(7, 0xFFBFF738) = 0
125 19527: fstat64(7, 0xFFBFF5E0) = 0
126 19527: ioctl(7, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
127 19527: read(7, " d i a l i n\t P a s s w".., 8192) = 74
128 19527: read(7, 0x0078E80C, 8192) = 0
129 19527: read(7, 0x0078E80C, 8192) = 0
130 19527: llseek(7, 0, SEEK_CUR) = 74
131 19527: close(7) = 0
132 19527: door_info(4, 0xFFBFD640) = 0
133 19527: door_call(4, 0xFFBFD628) = 0
134 19527: stat64("/radiator/etc/freeway-users", 0x00109538) = 0
135 19527: time() = 1031141092
136 19527: stat64("/radiator/log", 0x00109538) = 0
137 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 7
138 19527: llseek(7, 0, SEEK_END) = 39003
139 19527: fstat64(7, 0x00109658) = 0
140 19527: fcntl(7, F_SETFD, 0x00000001) = 0
141 19527: fstat64(7, 0xFFBFF678) = 0
142 19527: fstat64(7, 0xFFBFF520) = 0
143 19527: ioctl(7, TCGETA, 0xFFBFF604) Err#25 ENOTTY
144 19527: write(7, " W e d S e p 4 1".., 80) = 80
145 19527: close(7) = 0
146 19527: open64("/radiator/etc/freeway-users", O_RDONLY) = 7
147 19527: fstat64(7, 0x00109658) = 0
148 19527: fcntl(7, F_SETFD, 0x00000001) = 0
149 19527: fstat64(7, 0xFFBFF738) = 0
150 19527: fstat64(7, 0xFFBFF5E0) = 0
151 19527: ioctl(7, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
152 19527: read(7, " # - - - - - - - - - - -".., 8192) = 3989
153 19527: read(7, 0x0078E80C, 8192) = 0
154 19527: read(7, 0x0078E80C, 8192) = 0
155 19527: llseek(7, 0, SEEK_CUR) = 3989
156 19527: close(7) = 0
157 19527: door_info(4, 0xFFBFD640) = 0
158 19527: door_call(4, 0xFFBFD628) = 0
159 19527: stat64("/radiator/etc/ulmathome-users", 0x00109538) = 0
160 19527: time() = 1031141092
161 19527: stat64("/radiator/log", 0x00109538) = 0
162 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 7
163 19527: llseek(7, 0, SEEK_END) = 39083
164 19527: fstat64(7, 0x00109658) = 0
165 19527: fcntl(7, F_SETFD, 0x00000001) = 0
166 19527: fstat64(7, 0xFFBFF678) = 0
167 19527: fstat64(7, 0xFFBFF520) = 0
168 19527: ioctl(7, TCGETA, 0xFFBFF604) Err#25 ENOTTY
169 19527: write(7, " W e d S e p 4 1".., 82) = 82
170 19527: close(7) = 0
171 19527: open64("/radiator/etc/ulmathome-users", O_RDONLY) = 7
172 19527: fstat64(7, 0x00109658) = 0
173 19527: fcntl(7, F_SETFD, 0x00000001) = 0
174 19527: fstat64(7, 0xFFBFF738) = 0
175 19527: fstat64(7, 0xFFBFF5E0) = 0
176 19527: ioctl(7, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
177 19527: read(7, " # - - - - - - - - - - -".., 8192) = 4913
178 19527: read(7, 0x0078E80C, 8192) = 0
179 19527: read(7, 0x0078E80C, 8192) = 0
180 19527: llseek(7, 0, SEEK_CUR) = 4913
181 19527: close(7) = 0
182 19527: stat64("/radiator/etc/wlan-users", 0x00109538) = 0
183 19527: time() = 1031141092
184 19527: stat64("/radiator/log", 0x00109538) = 0
185 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 7
186 19527: llseek(7, 0, SEEK_END) = 39165
187 19527: fstat64(7, 0x00109658) = 0
188 19527: fcntl(7, F_SETFD, 0x00000001) = 0
189 19527: fstat64(7, 0xFFBFF678) = 0
190 19527: fstat64(7, 0xFFBFF520) = 0
191 19527: ioctl(7, TCGETA, 0xFFBFF604) Err#25 ENOTTY
192 19527: write(7, " W e d S e p 4 1".., 77) = 77
193 19527: close(7) = 0
194 19527: open64("/radiator/etc/wlan-users", O_RDONLY) = 7
195 19527: fstat64(7, 0x00109658) = 0
196 19527: fcntl(7, F_SETFD, 0x00000001) = 0
197 19527: fstat64(7, 0xFFBFF738) = 0
198 19527: fstat64(7, 0xFFBFF5E0) = 0
199 19527: ioctl(7, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
200 19527: read(7, " # v i m : t a b s t".., 8192) = 8192
201 19527: read(7, " - 0 8 b 9 6 2\n 0 0 2 0".., 8192) = 7214
202 19527: read(7, 0x0078E80C, 8192) = 0
203 19527: read(7, 0x0078E80C, 8192) = 0
204 19527: llseek(7, 0, SEEK_CUR) = 15406
205 19527: close(7) = 0
206 19527: read(6, 0x0078A80C, 8192) = 0
207 19527: llseek(6, 0, SEEK_CUR) = 3851
208 19527: close(6) = 0
209 19527: stat64("/radiator/etc", 0x00109538) = 0
210 19527: open64("/radiator/etc/pidfile", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 6
211 19527: fstat64(6, 0x00109658) = 0
212 19527: fcntl(6, F_SETFD, 0x00000001) = 0
213 19527: fstat64(6, 0xFFBFF678) = 0
214 19527: fstat64(6, 0xFFBFF520) = 0
215 19527: ioctl(6, TCGETA, 0xFFBFF604) Err#25 ENOTTY
216 19527: write(6, " 1 9 5 2 7\n", 6) = 6
217 19527: close(6) = 0
218 19527: door_info(4, 0xFFBFF3E0) = 0
219 19527: door_call(4, 0xFFBFF3C8) = 0
220 19527: open("/usr/lib/nss_compat.so.1", O_RDONLY) = 6
221 19527: fstat(6, 0xFFBFF02C) = 0
222 19527: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 6, 0) = 0xFF370000
223 19527: mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 6, 0) = 0xFF030000
224 19527: mmap(0xFF044000, 1204, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 16384) = 0xFF044000
225 19527: munmap(0xFF034000, 65536) = 0
226 19527: resolvepath("/usr/lib/nss_compat.so.1", "/usr/lib/nss_compat.so.1", 1023) = 24
227 19527: memcntl(0xFF030000, 3576, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
228 19527: close(6) = 0
229 19527: open("/usr/lib/libc.so.1", O_RDONLY) = 6
230 19527: fstat(6, 0xFFBFEF6C) = 0
231 19527: close(6) = 0
232 19527: open("/usr/lib/libnsl.so.1", O_RDONLY) = 6
233 19527: fstat(6, 0xFFBFEF6C) = 0
234 19527: close(6) = 0
235 19527: munmap(0xFF370000, 8192) = 0
236 19527: open("/etc/shadow", O_RDONLY) = 6
237 19527: fstat64(6, 0xFFBFF5D8) = 0
238 19527: fstat64(6, 0xFFBFF480) = 0
239 19527: ioctl(6, TCGETA, 0xFFBFF564) Err#25 ENOTTY
240 19527: read(6, " r o o t : x x x x x x ".., 8192) = 8192
241 19527: llseek(6, 0xFFFFFFFFFFFFE149, SEEK_CUR) = 329
242 19527: close(6) = 0
243 19527: seteuid(114) = 0
244 19527: getuid() = 0 [114]
245 19527: door_info(4, 0xFFBFF3E0) = 0
246 19527: door_call(4, 0xFFBFF3C8) = 0
247 19527: open("/etc/shadow", O_RDONLY) Err#13 EACCES
248 19527: setgroups(3, 0xFFBFF7B8) Err#1 EPERM
249 19527: setegid(114) Err#1 EPERM
250 19527: getgid() = 1 [1]
251 19527: getgroups(32, 0xFFBFF698) = 11
252 19527: time() = 1031141092
253 19527: stat64("/radiator/log", 0x00109538) = 0
254 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 6
255 19527: llseek(6, 0, SEEK_END) = 39242
256 19527: fstat64(6, 0x00109658) = 0
257 19527: fcntl(6, F_SETFD, 0x00000001) = 0
258 19527: fstat64(6, 0xFFBFF678) = 0
259 19527: fstat64(6, 0xFFBFF520) = 0
260 19527: ioctl(6, TCGETA, 0xFFBFF604) Err#25 ENOTTY
261 19527: write(6, " W e d S e p 4 1".., 73) = 73
262 19527: close(6) = 0
263 19527: open64("/radiator/etc/dictionary.my", O_RDONLY) = 6
264 19527: fstat64(6, 0x00109658) = 0
265 19527: fcntl(6, F_SETFD, 0x00000001) = 0
266 19527: fstat64(6, 0xFFBFF738) = 0
267 19527: fstat64(6, 0xFFBFF5E0) = 0
268 19527: ioctl(6, TCGETA, 0xFFBFF6C4) Err#25 ENOTTY
269 19527: read(6, " # d i c t i o n a r y".., 8192) = 8192
270 19527: read(6, " E\t\t S e r v i c e - T".., 8192) = 8192
271 19527: read(6, " T T R I B U T E\t A s c".., 8192) = 8192
272 19527: read(6, " H o s t A d m i n U n r".., 8192) = 8192
273 19527: read(6, " A d m i n .\n # N o t".., 8192) = 8192
274 19527: read(6, " s a g e\t 1 9 9\t i n t".., 8192) = 8192
275 19527: brk(0x00801800) = 0
276 19527: read(6, " n e x - S e c o n d a r".., 8192) = 8192
277 19527: read(6, " P P P".., 8192) = 8192
278 19527: read(6, " 1 6 6 S h".., 8192) = 8192
279 19527: read(6, " I n v a l i d - A t t".., 8192) = 8192
280 19527: read(6, " 2\n\n V A L U E ".., 8192) = 8192
281 19527: brk(0x00837000) = 0
282 19527: read(6, " 6 3 7 C V X - V P O P".., 8192) = 8192
283 19527: read(6, " - A s c e n d - P r i m".., 8192) = 8192
284 19527: read(6, " r\n V E N D O R A T T R".., 8192) = 6844
285 19527: read(6, 0x0078A80C, 8192) = 0
286 19527: llseek(6, 0, SEEK_CUR) = 113340
287 19527: close(6) = 0
288 19527: open("/etc/protocols", O_RDONLY) = 6
289 19527: fstat64(6, 0xFFBFF5D8) = 0
290 19527: fstat64(6, 0xFFBFF480) = 0
291 19527: ioctl(6, TCGETA, 0xFFBFF564) Err#25 ENOTTY
292 19527: read(6, " # i d e n t\t " @ ( # )".., 8192) = 1807
293 19527: llseek(6, 0xFFFFFFFFFFFFFB1E, SEEK_CUR) = 557
294 19527: close(6) = 0
295 19527: getsockname(0, 0x00688820, 0xFFBFF8FC, 1) Err#95 ENOTSOCK
296 19527: close(3) = 0
297 19527: llseek(3, 0, SEEK_CUR) Err#9 EBADF
298 19527: close(3) Err#9 EBADF
299 19527: so_socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP, "", 1) = 3
300 19527: fcntl(3, F_SETFD, 0x00000001) = 0
301 19527: door_info(4, 0xFFBFD640) = 0
302 19527: door_call(4, 0xFFBFD628) = 0
303 19527: bind(3, 0x00327158, 16, 3) = 0
304 19527: fcntl(3, F_GETFL, 0x00000000) = 2
305 19527: fstat64(3, 0xFFBFF790) = 0
306 19527: getsockopt(3, SOL_SOCKET, 0x2000, 0xFFBFF890, 0xFFBFF888, 1068496) = 0
307 19527: fstat64(3, 0xFFBFF790) = 0
308 19527: getsockopt(3, SOL_SOCKET, 0x2000, 0xFFBFF890, 0xFFBFF88C, 4) = 0
309 19527: setsockopt(3, SOL_SOCKET, 0x2000, 0xFFBFF890, 4, 4) = 0
310 19527: fcntl(3, F_SETFL, 0x00000082) = 0
311 19527: close(5) = 0
312 19527: llseek(5, 0, SEEK_CUR) Err#9 EBADF
313 19527: close(5) Err#9 EBADF
314 19527: so_socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP, "", 1) = 5
315 19527: fcntl(5, F_SETFD, 0x00000001) = 0
316 19527: door_info(4, 0xFFBFD640) = 0
317 19527: door_call(4, 0xFFBFD628) = 0
318 19527: bind(5, 0x00327158, 16, 3) = 0
319 19527: fcntl(3, F_GETFL, 0x00000000) = 130
320 19527: fstat64(3, 0xFFBFF790) = 0
321 19527: getsockopt(3, SOL_SOCKET, 0x2000, 0xFFBFF890, 0xFFBFF888, 1068496) = 0
322 19527: fstat64(5, 0xFFBFF790) = 0
323 19527: getsockopt(5, SOL_SOCKET, 0x2000, 0xFFBFF890, 0xFFBFF88C, 4) = 0
324 19527: setsockopt(5, SOL_SOCKET, 0x2000, 0xFFBFF890, 4, 4) = 0
325 19527: fcntl(5, F_SETFL, 0x00000082) = 0
326 19527: sigaction(SIGHUP, 0xFFBFF718, 0xFFBFF798) = 0
327 19527: sigaction(SIGTERM, 0xFFBFF718, 0xFFBFF798) = 0
328 19527: sigaction(SIGUSR1, 0xFFBFF718, 0xFFBFF798) = 0
329 19527: sigaction(SIGUSR2, 0xFFBFF718, 0xFFBFF798) = 0
330 19527: sigaction(SIGWINCH, 0xFFBFF718, 0xFFBFF798) = 0
331 19527: sigaction(SIGPIPE, 0xFFBFF718, 0xFFBFF798) = 0
332 19527: time() = 1031141093
333 19527: stat64("/radiator/log", 0x00109538) = 0
334 19527: open64("/radiator/log/radiatorlog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 6
335 19527: llseek(6, 0, SEEK_END) = 39315
336 19527: fstat64(6, 0x00109658) = 0
337 19527: fcntl(6, F_SETFD, 0x00000001) = 0
338 19527: fstat64(6, 0xFFBFF678) = 0
339 19527: fstat64(6, 0xFFBFF520) = 0
340 19527: ioctl(6, TCGETA, 0xFFBFF604) Err#25 ENOTTY
341 19527: write(6, " W e d S e p 4 1".., 70) = 70
342 19527: close(6) = 0
343 19527: poll(0xFFBFF828, 2, 1000) (sleeping...)
344 19527: poll(0xFFBFF828, 2, 1000) = 0
345 19527: time() = 1031141094
346 19527: time() = 1031141094
===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
More information about the radiator
mailing list