- Fix build on HEAD
PR: 143239 Submitted by: Rob Farmer <rfarmer@predatorlabs.net>
This commit is contained in:
parent
24bd50a87f
commit
9da1747e8e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=249708
2 changed files with 74 additions and 0 deletions
|
@ -30,6 +30,10 @@ MANCOMPRESSED= yes
|
|||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${OSVERSION} > 900006
|
||||
EXTRA_PATCHES= ${PATCHDIR}/utmpx-src-modules-om_classic.c
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
MAN8+= om_mysql.8
|
||||
|
|
70
sysutils/msyslog/files/utmpx-src-modules-om_classic.c
Normal file
70
sysutils/msyslog/files/utmpx-src-modules-om_classic.c
Normal file
|
@ -0,0 +1,70 @@
|
|||
--- src/modules/om_classic.c.orig 2010-01-25 16:36:53.000000000 -0800
|
||||
+++ src/modules/om_classic.c 2010-01-25 16:40:31.000000000 -0800
|
||||
@@ -66,7 +66,7 @@
|
||||
#include <string.h>
|
||||
#include <syslog.h>
|
||||
#include <unistd.h>
|
||||
-#include <utmp.h>
|
||||
+#include <utmpx.h>
|
||||
#include <netdb.h>
|
||||
/* if _PATH_UTMP isn't defined, define it here... */
|
||||
#ifndef _PATH_UTMP
|
||||
@@ -100,7 +100,7 @@
|
||||
struct om_classic_ctx {
|
||||
int fd;
|
||||
union {
|
||||
- char f_uname[MAXUNAMES][UT_NAMESIZE+1];
|
||||
+ char f_uname[MAXUNAMES][MAXLOGNAME+2];
|
||||
struct {
|
||||
char f_hname[MAXHOSTNAMELEN];
|
||||
struct sockaddr f_addr;
|
||||
@@ -396,9 +396,9 @@
|
||||
for (i = 0; i < MAXUNAMES && *p; i++) {
|
||||
for (q = p; *q && *q != ','; )
|
||||
q++;
|
||||
- (void)strncpy(c->f_un.f_uname[i], p, UT_NAMESIZE);
|
||||
- if ((q - p) > UT_NAMESIZE)
|
||||
- c->f_un.f_uname[i][UT_NAMESIZE] = '\0';
|
||||
+ (void)strncpy(c->f_un.f_uname[i], p, MAXLOGNAME+1);
|
||||
+ if ((q - p) > MAXLOGNAME+1)
|
||||
+ c->f_un.f_uname[i][MAXLOGNAME+1] = '\0';
|
||||
else
|
||||
c->f_un.f_uname[i][q - p] = '\0';
|
||||
while (*q == ',' || *q == ' ')
|
||||
@@ -456,24 +456,19 @@
|
||||
{
|
||||
static int reenter; /* avoid calling ourselves */
|
||||
FILE *uf;
|
||||
- struct utmp ut;
|
||||
+ struct utmpx ut;
|
||||
int i;
|
||||
char *p;
|
||||
char line[sizeof(ut.ut_line) + 1];
|
||||
|
||||
if (reenter++)
|
||||
return;
|
||||
- if ( (uf = fopen(_PATH_UTMP, "r")) == NULL) {
|
||||
- dprintf(MSYSLOG_SERIOUS, "om_classic: error opening "
|
||||
- "%s\n", _PATH_UTMP);
|
||||
- reenter = 0;
|
||||
- return;
|
||||
- }
|
||||
+
|
||||
/* NOSTRICT */
|
||||
while (fread(&ut, sizeof(ut), 1, uf) == 1) {
|
||||
|
||||
#ifndef __linux__
|
||||
- if (ut.ut_name[0] == '\0')
|
||||
+ if (ut.ut_user[0] == '\0')
|
||||
#else
|
||||
if ((ut.ut_type != USER_PROCESS && ut.ut_type != LOGIN_PROCESS) ||
|
||||
ut.ut_line[0] == ':' /* linux logs users that are not logged in (?!) */)
|
||||
@@ -494,7 +489,7 @@
|
||||
for (i = 0; i < MAXUNAMES; i++) {
|
||||
if (!c->f_un.f_uname[i][0])
|
||||
break;
|
||||
- if (!strncmp(c->f_un.f_uname[i], ut.ut_name,
|
||||
+ if (!strncmp(c->f_un.f_uname[i], ut.ut_user,
|
||||
UT_NAMESIZE)) {
|
||||
if ((p = ttymsg(iov, 6, line, TTYMSGTIME))
|
||||
!= NULL) {
|
Loading…
Reference in a new issue