SCCS-vsn: sys/netns/idp_usrreq.c 6.2
-/* idp_usrreq.c 6.1 85/05/30 */
+/* idp_usrreq.c 6.2 85/05/31 */
#include "param.h"
#include "dir.h"
#include "param.h"
#include "dir.h"
struct sockaddr_ns idp_ns = { AF_NS };
struct sockaddr_ns idp_ns = { AF_NS };
-int
-idp_input_panic = 1;
idp_input(m, nsp)
struct mbuf *m;
register struct nspcb *nsp;
{
register struct idp *idp = mtod(m, struct idp *);
idp_input(m, nsp)
struct mbuf *m;
register struct nspcb *nsp;
{
register struct idp *idp = mtod(m, struct idp *);
- if (idp_input_panic) {
- if ((nsp==0) || ((idp->idp_pt==5) && (!(nsp->nsp_flags&NSP_RAWIN))))
- panic("Impossible idp_input");
- }
+ if (nsp==0)
+ panic("Impossible idp_input");
/*
* Construct sockaddr format source address.
/*
* Construct sockaddr format source address.
} else {
struct mbuf *m1 = m_get(M_DONTWAIT, MT_DATA);
} else {
struct mbuf *m1 = m_get(M_DONTWAIT, MT_DATA);
- if (m1 == 0) return (ENOBUFS);
+ if (m1 == 0) {
+ m_freem(m0);
+ return (ENOBUFS);
+ }
m1->m_len = 1;
m1->m_off = MMAXOFF - 1;
* mtod(m1, char *) = 0;
m1->m_len = 1;
m1->m_off = MMAXOFF - 1;
* mtod(m1, char *) = 0;
+ if (!suser() || (nsp != NULL)) {