RE: Multiple IP's im Jail - Patch

From: Hannes Widmer <h.widmer(at)cybernet.ch>
Date: Fri, 10 Dec 2004 15:33:06 +0100

Hier hab ich nen Patch gefunden. Problem dabei ist, dass ich
ein Patch manuell machen muss da es einen fehler gibt.
Danach beim compilen bekomme ich diesen fehler:

Danke euch vielmals für die Hilfe :-)

Hannes Widmer

cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual
-fformat-extensions -std=c99 -nostdinc -I- -I. -I/usr/src/sys
-I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/altq
-I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf
-I/usr/src/sys/contrib/dev/ath -I/usr/src/sys/contrib/dev/ath/freebsd
-I/usr/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common
-finline-limit=8000 --param inline-unit-growth=100 --param
large-function-growth=1000 -mno-align-long-strings
-mpreferred-stack-boundary=2 -ffreestanding -Werror
/usr/src/sys/netinet6/in6_gif.c cc -c -O -pipe -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
-Winline -Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I.
-I/usr/src/sys -I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/altq
-I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf
-I/usr/src/sys/contrib/dev/ath -I/usr/src/sys/contrib/dev/ath/freebsd
-I/usr/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common
-finline-limit=8000 --param inline-unit-growth=100 --param
large-function-growth=1000 -mno-align-long-strings
-mpreferred-stack-boundary=2 -ffreestanding -Werror
/usr/src/sys/netinet6/in6_ifattach.c
cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual
-fformat-extensions -std=c99 -nostdinc -I- -I. -I/usr/src/sys
-I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/altq
-I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf
-I/usr/src/sys/contrib/dev/ath -I/usr/src/sys/contrib/dev/ath/freebsd
-I/usr/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common
-finline-limit=8000 --param inline-unit-growth=100 --param
large-function-growth=1000 -mno-align-long-strings
-mpreferred-stack-boundary=2 -ffreestanding -Werror
/usr/src/sys/netinet6/in6_pcb.c
/usr/src/sys/netinet6/in6_pcb.c: In function `in6_pcbbind':
/usr/src/sys/netinet6/in6_pcb.c:129: error: 'cred' redeclared as different
kind of symbol
/usr/src/sys/netinet6/in6_pcb.c:124: error: previous definition of 'cred'
was here
/usr/src/sys/netinet6/in6_pcb.c:142: error: `td' undeclared (first use in
this function)
/usr/src/sys/netinet6/in6_pcb.c:142: error: (Each undeclared identifier is
reported only once
/usr/src/sys/netinet6/in6_pcb.c:142: error: for each function it appears
in.)
*** Error code 1

Stop in /usr/obj/usr/src/sys/SARUMAN2.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

Hier ist ein auszug aus dem File /usr/src/sys/netinet6/in6_pcb.c,
funktion in6_pcbbind

--> ZEILE 119!!!!!!!!!!!!!
120: int
121: in6_pcbbind(inp, nam, cred)
... register struct inpcb *inp;
... struct sockaddr *nam;
        struct ucred *cred;
{
        struct socket *so = inp->inp_socket;
        struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)NULL;
        struct inpcbinfo *pcbinfo = inp->inp_pcbinfo;
        struct ucred *cred = NULL;
        u_short lport = 0;
        int wild = 0, reuseport = (so->so_options & SO_REUSEPORT);

        INP_INFO_WLOCK_ASSERT(pcbinfo);
        INP_LOCK_ASSERT(inp);

        if (!in6_ifaddr) /* XXX broken! */
                return (EADDRNOTAVAIL);
        if (inp->inp_lport || !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr))
                return (EINVAL);
        if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) == 0)
                wild = 1;
142: if (td != NULL)
                cred = td->td_ucred;
        if (nam) {
                sin6 = (struct sockaddr_in6 *)nam;
                if (nam->sa_len != sizeof(*sin6))
                        return (EINVAL);
                /*
                 * family check.
                 */
                if (nam->sa_family != AF_INET6)
                        return (EAFNOSUPPORT);

                /* KAME hack: embed scopeid */
                if (in6_embedscope(&sin6->sin6_addr, sin6, inp, NULL) != 0)
                        return EINVAL;
                /* this must be cleared for ifa_ifwithaddr() */
                sin6->sin6_scope_id = 0;

                lport = sin6->sin6_port;
                if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) {
                        /*
                         * Treat SO_REUSEADDR as SO_REUSEPORT for multicast;

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 10 Dec 2004 - 15:30:01 CET

search this site