[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.122.6.1 and 1.122.6.2

version 1.122.6.1, 2006/10/22 06:07:11 version 1.122.6.2, 2006/12/10 07:18:46
Line 151  static size_t sodopendfree(void);
Line 151  static size_t sodopendfree(void);
 static size_t sodopendfreel(void);  static size_t sodopendfreel(void);
   
 static vsize_t  static vsize_t
 sokvareserve(struct socket *so __unused, vsize_t len)  sokvareserve(struct socket *so, vsize_t len)
 {  {
         int s;          int s;
         int error;          int error;
Line 342  sodopendfreel()
Line 342  sodopendfreel()
 }  }
   
 void  void
 soloanfree(struct mbuf *m, caddr_t buf, size_t size, void *arg __unused)  soloanfree(struct mbuf *m, caddr_t buf, size_t size, void *arg)
 {  {
         int s;          int s;
   
Line 432  sosend_loan(struct socket *so, struct ui
Line 432  sosend_loan(struct socket *so, struct ui
 }  }
   
 static int  static int
 sokva_reclaim_callback(struct callback_entry *ce __unused, void *obj __unused,  sokva_reclaim_callback(struct callback_entry *ce, void *obj, void *arg)
     void *arg __unused)  
 {  {
   
         KASSERT(ce == &sokva_reclaimerentry);          KASSERT(ce == &sokva_reclaimerentry);
Line 474  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 1418  sosetopt(struct socket *so, int level, i
Line 1422  sosetopt(struct socket *so, int level, i
 {  {
         int             error;          int             error;
         struct mbuf     *m;          struct mbuf     *m;
           struct linger   *l;
   
         error = 0;          error = 0;
         m = m0;          m = m0;
Line 1434  sosetopt(struct socket *so, int level, i
Line 1439  sosetopt(struct socket *so, int level, i
                                 error = EINVAL;                                  error = EINVAL;
                                 goto bad;                                  goto bad;
                         }                          }
                         if (mtod(m, struct linger *)->l_linger < 0 ||                          l = mtod(m, struct linger *);
                             mtod(m, struct linger *)->l_linger > (INT_MAX / hz)) {                          if (l->l_linger < 0 || l->l_linger > USHRT_MAX ||
                               l->l_linger > (INT_MAX / hz)) {
                                 error = EDOM;                                  error = EDOM;
                                 goto bad;                                  goto bad;
                         }                          }
                         so->so_linger = mtod(m, struct linger *)->l_linger;                          so->so_linger = l->l_linger;
                         /* fall thru... */                          if (l->l_onoff)
                                   so->so_options |= SO_LINGER;
                           else
                                   so->so_options &= ~SO_LINGER;
                           break;
   
                 case SO_DEBUG:                  case SO_DEBUG:
                 case SO_KEEPALIVE:                  case SO_KEEPALIVE:
Line 1580  sogetopt(struct socket *so, int level, i
Line 1590  sogetopt(struct socket *so, int level, i
                 case SO_LINGER:                  case SO_LINGER:
                         m->m_len = sizeof(struct linger);                          m->m_len = sizeof(struct linger);
                         mtod(m, struct linger *)->l_onoff =                          mtod(m, struct linger *)->l_onoff =
                                 so->so_options & SO_LINGER;                              (so->so_options & SO_LINGER) ? 1 : 0;
                         mtod(m, struct linger *)->l_linger = so->so_linger;                          mtod(m, struct linger *)->l_linger = so->so_linger;
                         break;                          break;
   
Line 1593  sogetopt(struct socket *so, int level, i
Line 1603  sogetopt(struct socket *so, int level, i
                 case SO_BROADCAST:                  case SO_BROADCAST:
                 case SO_OOBINLINE:                  case SO_OOBINLINE:
                 case SO_TIMESTAMP:                  case SO_TIMESTAMP:
                         *mtod(m, int *) = so->so_options & optname;                          *mtod(m, int *) = (so->so_options & optname) ? 1 : 0;
                         break;                          break;
   
                 case SO_TYPE:                  case SO_TYPE:
Line 1667  filt_sordetach(struct knote *kn)
Line 1677  filt_sordetach(struct knote *kn)
   
 /*ARGSUSED*/  /*ARGSUSED*/
 static int  static int
 filt_soread(struct knote *kn, long hint __unused)  filt_soread(struct knote *kn, long hint)
 {  {
         struct socket   *so;          struct socket   *so;
   
Line 1698  filt_sowdetach(struct knote *kn)
Line 1708  filt_sowdetach(struct knote *kn)
   
 /*ARGSUSED*/  /*ARGSUSED*/
 static int  static int
 filt_sowrite(struct knote *kn, long hint __unused)  filt_sowrite(struct knote *kn, long hint)
 {  {
         struct socket   *so;          struct socket   *so;
   
Line 1721  filt_sowrite(struct knote *kn, long hint
Line 1731  filt_sowrite(struct knote *kn, long hint
   
 /*ARGSUSED*/  /*ARGSUSED*/
 static int  static int
 filt_solisten(struct knote *kn, long hint __unused)  filt_solisten(struct knote *kn, long hint)
 {  {
         struct socket   *so;          struct socket   *so;
   
Line 1743  static const struct filterops sowrite_fi
Line 1753  static const struct filterops sowrite_fi
         { 1, NULL, filt_sowdetach, filt_sowrite };          { 1, NULL, filt_sowdetach, filt_sowrite };
   
 int  int
 soo_kqfilter(struct file *fp __unused, struct knote *kn)  soo_kqfilter(struct file *fp, struct knote *kn)
 {  {
         struct socket   *so;          struct socket   *so;
         struct sockbuf  *sb;          struct sockbuf  *sb;

Legend:
Removed from v.1.122.6.1  
changed lines
  Added in v.1.122.6.2

CVSweb <webmaster@jp.NetBSD.org>