[BACK]Return to uipc_socket.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/uipc_socket.c between version 1.123 and 1.129.2.1

version 1.123, 2006/10/02 00:02:04 version 1.129.2.1, 2007/05/13 21:23:47
Line 473  socreate(int dom, struct socket **aso, i
Line 473  socreate(int dom, struct socket **aso, i
         uid_t           uid;          uid_t           uid;
         int             error, s;          int             error, s;
   
           if (kauth_authorize_network(l->l_cred, KAUTH_NETWORK_SOCKET,
               KAUTH_REQ_NETWORK_SOCKET_OPEN, (void *)(u_long)dom,
               (void *)(u_long)type, (void *)(u_long)proto) != 0)
                   return (EPERM);
   
         if (proto)          if (proto)
                 prp = pffindproto(dom, proto, type);                  prp = pffindproto(dom, proto, type);
         else          else
Line 506  socreate(int dom, struct socket **aso, i
Line 511  socreate(int dom, struct socket **aso, i
 #endif  #endif
         if (l != NULL) {          if (l != NULL) {
                 uid = kauth_cred_geteuid(l->l_cred);                  uid = kauth_cred_geteuid(l->l_cred);
                 kauth_cred_hold(l->l_cred);  
                 so->so_cred = l->l_cred;  
         } else {          } else {
                 uid = 0;                  uid = 0;
                 so->so_cred = NULL;  
         }          }
         so->so_uidinfo = uid_find(uid);          so->so_uidinfo = uid_find(uid);
         error = (*prp->pr_usrreq)(so, PRU_ATTACH, (struct mbuf *)0,          error = (*prp->pr_usrreq)(so, PRU_ATTACH, (struct mbuf *)0,
Line 652  soclose(struct socket *so)
Line 654  soclose(struct socket *so)
 int  int
 soabort(struct socket *so)  soabort(struct socket *so)
 {  {
           int error;
   
         return (*so->so_proto->pr_usrreq)(so, PRU_ABORT, (struct mbuf *)0,          KASSERT(so->so_head == NULL);
           error = (*so->so_proto->pr_usrreq)(so, PRU_ABORT, (struct mbuf *)0,
             (struct mbuf *)0, (struct mbuf *)0, (struct lwp *)0);              (struct mbuf *)0, (struct mbuf *)0, (struct lwp *)0);
           if (error) {
                   sofree(so);
           }
           return error;
 }  }
   
 int  int
Line 730  sodisconnect(struct socket *so)
Line 738  sodisconnect(struct socket *so)
                 error = EALREADY;                  error = EALREADY;
                 goto bad;                  goto bad;
         }          }
         if (so->so_cred != NULL)  
                 kauth_cred_free(so->so_cred);  
         error = (*so->so_proto->pr_usrreq)(so, PRU_DISCONNECT,          error = (*so->so_proto->pr_usrreq)(so, PRU_DISCONNECT,
             (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0,              (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0,
             (struct lwp *)0);              (struct lwp *)0);

Legend:
Removed from v.1.123  
changed lines
  Added in v.1.129.2.1

CVSweb <webmaster@jp.NetBSD.org>