Fri, 07 Sep 2012 19:08:07 +0200
Correct build configuration in Solaris subdir, correct english grammar,
remove irrelevant strip notice, introduce custom CFLAG logic, facilitate
use of Solaris Studio compiler with needed build configuration
adjustments, conditionally build 64 bit position independent code,
and accommodate tun(7) in newer Solaris releases by renaming driver
and module from conflicting 'tun' to 'vtun'. These changes include
some nonstandard 'I give up' logic causing out of tree builds by
manipulating the PATH, for example.
1 Index: Makefile.in
2 --- Makefile.in.orig 2005-11-07 19:38:27 +0100
3 +++ Makefile.in 2005-11-07 19:38:52 +0100
4 @@ -152,7 +152,7 @@
5 @-for i in otp-md4 otp-md5; do ln -s opiekey.1 $(LOCALMAN)/man1/$$i.1; done
6 @if test ! -d $(LOCALMAN)/man1; then $(MKDIR) $(LOCALMAN)/man1; chmod 755 $(LOCALMAN)/man1; fi; cp opiekey.1 $(LOCALMAN)/man1/opiekey.1; $(CHOWN) $(OWNER) $(LOCALMAN)/man1/opiekey.1; chgrp $(GROUP) $(LOCALMAN)/man1/opiekey.1; chmod 644 $(LOCALMAN)/man1/opiekey.1
8 -server: libopie/libopie.a libmissing/libmissing.a opietest-passed opielogin opiesu opiepasswd opieinfo opieftpd opieserv
9 +server: libopie/libopie.a libmissing/libmissing.a opietest-passed opielogin opiesu opiepasswd opieinfo opieserv
11 server-install: server
12 @echo "Installing OPIE server software..."
13 Index: libopie/atob8.c
14 --- libopie/atob8.c.orig 1999-03-11 03:09:57 +0100
15 +++ libopie/atob8.c 2005-11-07 19:39:30 +0100
16 @@ -72,5 +72,5 @@
17 *out++ |= val;
18 }
20 - return out;
21 + return (char *)out;
22 }
23 Index: opie_cfg.h
24 --- opie_cfg.h.orig 2001-11-20 17:23:37 +0100
25 +++ opie_cfg.h 2005-11-07 19:39:05 +0100
26 @@ -69,6 +69,9 @@
27 #define DOUTMPX 0
28 #endif /* HAVE_GETUTXLINE && HAVE_UTMPX_H */
30 +#include <stdlib.h>
31 +#include <stdio.h>
32 +#include <string.h>
33 #include <sys/types.h>
34 /* Adapted from the Autoconf hypertext info pages */
35 #if HAVE_DIRENT_H
36 Index: libopie/generator.c
37 --- libopie/generator.c.orig 2006-06-18 02:06:28.215630000 +0200
38 +++ libopie/generator.c 2006-06-18 02:06:15.049431000 +0200
39 @@ -62,7 +62,7 @@
40 static int opieauto_connect FUNCTION_NOARGS
41 {
42 int s;
43 - struct sockaddr_un sun;
44 + struct sockaddr_un locsun;
45 char buffer[1024];
46 char *c, *c2 ="/.opieauto";
47 uid_t myuid = getuid(), myeuid = geteuid();
48 @@ -74,8 +74,8 @@
49 return -1;
50 };
52 - memset(&sun, 0, sizeof(struct sockaddr_un));
53 - sun.sun_family = AF_UNIX;
54 + memset(&locsun, 0, sizeof(struct sockaddr_un));
55 + locsun.sun_family = AF_UNIX;
57 if (!(c = getenv("HOME"))) {
58 #if DEBUG
59 @@ -84,15 +84,15 @@
60 return -1;
61 };
63 - if (strlen(c) > (sizeof(sun.sun_path) - strlen(c2) - 1)) {
64 + if (strlen(c) > (sizeof(locsun.sun_path) - strlen(c2) - 1)) {
65 #if DEBUG
66 syslog(LOG_DEBUG, "opieauto_connect: HOME is too long: %s", c);
67 #endif /* DEBUG */
68 return -1;
69 };
71 - strcpy(sun.sun_path, c);
72 - strcat(sun.sun_path, c2);
73 + strcpy(locsun.sun_path, c);
74 + strcat(locsun.sun_path, c2);
76 if ((s = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) {
77 #if DEBUG
78 @@ -104,14 +104,14 @@
79 {
80 struct stat st;
82 - if (stat(sun.sun_path, &st) < 0) {
83 + if (stat(locsun.sun_path, &st) < 0) {
84 #if DEBUG
85 syslog(LOG_DEBUG, "opieauto_connect: stat: %s(%d)\n", strerror(errno), errno);
86 #endif /* DEBUG */
87 goto ret;
88 };
90 - if (connect(s, (struct sockaddr *)&sun, sizeof(struct sockaddr_un))) {
91 + if (connect(s, (struct sockaddr *)&locsun, sizeof(struct sockaddr_un))) {
92 #if DEBUG
93 syslog(LOG_DEBUG, "opieauto_connect: connect: %s(%d)\n", strerror(errno), errno);
94 #endif /* DEBUG */
95 Index: opieauto.c
96 --- opieauto.c.orig 2001-11-20 16:18:42.000000000 +0100
97 +++ opieauto.c 2006-06-18 02:28:20.526432000 +0200
98 @@ -282,10 +282,10 @@
99 baile("atexit");
101 {
102 - struct sockaddr_un sun;
103 + struct sockaddr_un locsun;
105 - memset(&sun, 0, sizeof(struct sockaddr_un));
106 - sun.sun_family = AF_UNIX;
107 + memset(&locsun, 0, sizeof(struct sockaddr_un));
108 + locsun.sun_family = AF_UNIX;
110 {
111 char *c;
112 @@ -294,12 +294,12 @@
113 if (!(c = getenv("HOME")))
114 bail("getenv(HOME) failed -- no HOME variable?");
116 - if (strlen(c) > (sizeof(sun.sun_path) - strlen(c2) - 1))
117 + if (strlen(c) > (sizeof(locsun.sun_path) - strlen(c2) - 1))
118 bail("your HOME is too long");
120 - strcpy(sun.sun_path, c);
121 - strcat(sun.sun_path, c2);
122 - sockpath = strdup(sun.sun_path);
123 + strcpy(locsun.sun_path, c);
124 + strcat(locsun.sun_path, c2);
125 + sockpath = strdup(locsun.sun_path);
126 };
128 if ((parents = socket(PF_UNIX, SOCK_STREAM, 0)) < 0)
129 @@ -311,7 +311,7 @@
130 if (umask(0177) < 0)
131 baile("umask");
133 - if (bind(parents, (struct sockaddr *)&sun, sizeof(struct sockaddr_un)))
134 + if (bind(parents, (struct sockaddr *)&locsun, sizeof(struct sockaddr_un)))
135 baile("bind");
137 if (stat(sockpath, &st) < 0)