Deleted Added
full compact
uipc_syscalls.c (274408) uipc_syscalls.c (274476)
1/*-
2 * Copyright (c) 1982, 1986, 1989, 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * sendfile(2) and related extensions:
6 * Copyright (c) 1998, David Greenman. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94
33 */
34
35#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1982, 1986, 1989, 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * sendfile(2) and related extensions:
6 * Copyright (c) 1998, David Greenman. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94
33 */
34
35#include <sys/cdefs.h>
36__FBSDID("$FreeBSD: head/sys/kern/uipc_syscalls.c 274408 2014-11-11 22:08:18Z glebius $");
36__FBSDID("$FreeBSD: head/sys/kern/uipc_syscalls.c 274476 2014-11-13 18:01:51Z kib $");
37
38#include "opt_capsicum.h"
39#include "opt_inet.h"
40#include "opt_inet6.h"
41#include "opt_compat.h"
42#include "opt_ktrace.h"
43
44#include <sys/param.h>

--- 192 unchanged lines hidden (view full) ---

237 int namelen;
238 } */ *uap;
239{
240 struct sockaddr *sa;
241 int error;
242
243 error = getsockaddr(&sa, uap->name, uap->namelen);
244 if (error == 0) {
37
38#include "opt_capsicum.h"
39#include "opt_inet.h"
40#include "opt_inet6.h"
41#include "opt_compat.h"
42#include "opt_ktrace.h"
43
44#include <sys/param.h>

--- 192 unchanged lines hidden (view full) ---

237 int namelen;
238 } */ *uap;
239{
240 struct sockaddr *sa;
241 int error;
242
243 error = getsockaddr(&sa, uap->name, uap->namelen);
244 if (error == 0) {
245 error = kern_bind(td, uap->s, sa);
245 error = kern_bindat(td, AT_FDCWD, uap->s, sa);
246 free(sa, M_SONAME);
247 }
248 return (error);
249}
250
246 free(sa, M_SONAME);
247 }
248 return (error);
249}
250
251static int
251int
252kern_bindat(struct thread *td, int dirfd, int fd, struct sockaddr *sa)
253{
254 struct socket *so;
255 struct file *fp;
256 cap_rights_t rights;
257 int error;
258
259 AUDIT_ARG_FD(fd);

--- 17 unchanged lines hidden (view full) ---

277 error = sobindat(dirfd, so, sa, td);
278#ifdef MAC
279 }
280#endif
281 fdrop(fp, td);
282 return (error);
283}
284
252kern_bindat(struct thread *td, int dirfd, int fd, struct sockaddr *sa)
253{
254 struct socket *so;
255 struct file *fp;
256 cap_rights_t rights;
257 int error;
258
259 AUDIT_ARG_FD(fd);

--- 17 unchanged lines hidden (view full) ---

277 error = sobindat(dirfd, so, sa, td);
278#ifdef MAC
279 }
280#endif
281 fdrop(fp, td);
282 return (error);
283}
284
285int
286kern_bind(struct thread *td, int fd, struct sockaddr *sa)
287{
288
289 return (kern_bindat(td, AT_FDCWD, fd, sa));
290}
291
292/* ARGSUSED */
293int
294sys_bindat(td, uap)
295 struct thread *td;
296 struct bindat_args /* {
297 int fd;
298 int s;
299 caddr_t name;

--- 290 unchanged lines hidden (view full) ---

590 int namelen;
591 } */ *uap;
592{
593 struct sockaddr *sa;
594 int error;
595
596 error = getsockaddr(&sa, uap->name, uap->namelen);
597 if (error == 0) {
285/* ARGSUSED */
286int
287sys_bindat(td, uap)
288 struct thread *td;
289 struct bindat_args /* {
290 int fd;
291 int s;
292 caddr_t name;

--- 290 unchanged lines hidden (view full) ---

583 int namelen;
584 } */ *uap;
585{
586 struct sockaddr *sa;
587 int error;
588
589 error = getsockaddr(&sa, uap->name, uap->namelen);
590 if (error == 0) {
598 error = kern_connect(td, uap->s, sa);
591 error = kern_connectat(td, AT_FDCWD, uap->s, sa);
599 free(sa, M_SONAME);
600 }
601 return (error);
602}
603
592 free(sa, M_SONAME);
593 }
594 return (error);
595}
596
604static int
597int
605kern_connectat(struct thread *td, int dirfd, int fd, struct sockaddr *sa)
606{
607 struct socket *so;
608 struct file *fp;
609 cap_rights_t rights;
610 int error, interrupted = 0;
611
612 AUDIT_ARG_FD(fd);

--- 46 unchanged lines hidden (view full) ---

659 so->so_state &= ~SS_ISCONNECTING;
660 if (error == ERESTART)
661 error = EINTR;
662done1:
663 fdrop(fp, td);
664 return (error);
665}
666
598kern_connectat(struct thread *td, int dirfd, int fd, struct sockaddr *sa)
599{
600 struct socket *so;
601 struct file *fp;
602 cap_rights_t rights;
603 int error, interrupted = 0;
604
605 AUDIT_ARG_FD(fd);

--- 46 unchanged lines hidden (view full) ---

652 so->so_state &= ~SS_ISCONNECTING;
653 if (error == ERESTART)
654 error = EINTR;
655done1:
656 fdrop(fp, td);
657 return (error);
658}
659
667int
668kern_connect(struct thread *td, int fd, struct sockaddr *sa)
669{
670
671 return (kern_connectat(td, AT_FDCWD, fd, sa));
672}
673
674/* ARGSUSED */
675int
676sys_connectat(td, uap)
677 struct thread *td;
678 struct connectat_args /* {
679 int fd;
680 int s;
681 caddr_t name;

--- 1899 unchanged lines hidden ---
660/* ARGSUSED */
661int
662sys_connectat(td, uap)
663 struct thread *td;
664 struct connectat_args /* {
665 int fd;
666 int s;
667 caddr_t name;

--- 1899 unchanged lines hidden ---