* Copyright (c) 1983,1988 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that this notice is preserved and that due credit is given
* to the University of California at 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'' without express or implied warranty.
"@(#) Copyright (c) 1983,1988 Regents of the University of California.\n\
static char sccsid
[] = "@(#)implogd.c 5.5 (Berkeley) %G%";
#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
);