* Copyright (c) 1983, 1988 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
"@(#) Copyright (c) 1983, 1988 Regents of the University of California.\n\
static char sccsid
[] = "@(#)implogd.c 5.6 (Berkeley) 6/18/88";
#include <netimp/if_imp.h>
#define LOGFILE "/usr/adm/implog"
* Socket address, internet style, with
* unused space taken by timestamp and packet
openlog("implogd", LOG_PID
| LOG_ODELAY
, LOG_DAEMON
);
if (argc
> 0 && !strcmp(argv
[0], "-d"))
log
= open(LOGFILE
, O_CREAT
|O_WRONLY
|O_APPEND
, 0644);
syslog(LOG_ERR
, "%s: %m\n", LOGFILE
);
from
.sin_len
= sizeof (time_t);
write(log
, (char *)&from
, sizeof (from
));
if ((s
= socket(AF_IMPLINK
, SOCK_RAW
, 0)) < 0) {
syslog(LOG_ERR
, "socket: %m\n");
perror("implogd: socket");
{ int tt
= open("/dev/tty", 2);
int fromlen
= sizeof (from
), len
;
len
= recvfrom(s
, request
, sizeof (request
), 0,
syslog(LOG_ERR
, "recvfrom: %m\n");
perror("implogd: recvfrom");
if (len
== 0 || len
> IMPMTU
) /* sanity */
write(log
, (char *)&from
, sizeof (from
));
write(log
, request
, len
);