/freebsd/sys/rpc/ |
H A D | svc_vc.c | 145 static bool_t svc_vc_control(SVCXPRT *xprt, const u_int rq, void *in); 146 static bool_t svc_vc_rendezvous_control (SVCXPRT *xprt, const u_int rq, 154 static bool_t svc_vc_backchannel_control(SVCXPRT *xprt, const u_int rq, 208 SVCXPRT *xprt; in svc_vc_create() local 219 xprt = svc_vc_create_conn(pool, so, (struct sockaddr *)&ss); in svc_vc_create() 220 return (xprt); in svc_vc_create() 224 xprt = svc_xprt_alloc(); in svc_vc_create() 225 sx_init(&xprt->xp_lock, "xprt->xp_lock"); in svc_vc_create() 226 xprt->xp_pool = pool; in svc_vc_create() 227 xprt->xp_socket = so; in svc_vc_create() [all …]
|
H A D | svc_dg.c | 98 SVCXPRT *xprt; in svc_dg_create() local 118 xprt = svc_xprt_alloc(); in svc_dg_create() 119 sx_init(&xprt->xp_lock, "xprt->xp_lock"); in svc_dg_create() 120 xprt->xp_pool = pool; in svc_dg_create() 121 xprt->xp_socket = so; in svc_dg_create() 122 xprt->xp_p1 = NULL; in svc_dg_create() 123 xprt->xp_p2 = NULL; in svc_dg_create() 124 xprt->xp_ops = &svc_dg_ops; in svc_dg_create() 126 xprt->xp_ltaddr.ss_len = sizeof(xprt->xp_ltaddr); in svc_dg_create() 127 error = sosockaddr(so, (struct sockaddr *)&xprt->xp_ltaddr); in svc_dg_create() [all …]
|
H A D | svc.c | 75 static void xprt_unregister_locked(SVCXPRT *xprt); 186 SVCXPRT *xprt, *nxprt; in svcpool_cleanup() local 197 while ((xprt = TAILQ_FIRST(&grp->sg_xlist)) != NULL) { in svcpool_cleanup() 198 xprt_unregister_locked(xprt); in svcpool_cleanup() 199 TAILQ_INSERT_TAIL(&cleanup, xprt, xp_link); in svcpool_cleanup() 203 TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) { in svcpool_cleanup() 204 if (xprt->xp_socket != NULL) in svcpool_cleanup() 205 soshutdown(xprt->xp_socket, SHUT_WR); in svcpool_cleanup() 206 SVC_RELEASE(xprt); in svcpool_cleanup() 343 xprt_register(SVCXPRT *xprt) in xprt_register() argument [all …]
|
H A D | svc_generic.c | 84 SVCXPRT *xprt; in svc_tp_create() local 97 xprt = svc_tli_create(pool, nconf, &bind, 0, 0); in svc_tp_create() 100 xprt = svc_tli_create(pool, nconf, NULL, 0, 0); in svc_tp_create() 102 if (xprt == NULL) { in svc_tp_create() 108 if (svc_reg(xprt, prognum, versnum, dispatch, nconf) == FALSE) { in svc_tp_create() 113 xprt_unregister(xprt); in svc_tp_create() 114 SVC_RELEASE(xprt); in svc_tp_create() 117 return (xprt); in svc_tp_create() 138 SVCXPRT *xprt = NULL; /* service handle */ in svc_tli_create() local 188 xprt = svc_fd_create(fd, sendsz, recvsz); in svc_tli_create() [all …]
|
H A D | svc.h | 352 #define SVC_ACQUIRE(xprt) \ argument 353 refcount_acquire(&(xprt)->xp_refs) 355 #define SVC_RELEASE(xprt) \ argument 356 if (refcount_release(&(xprt)->xp_refs)) \ 357 SVC_DESTROY(xprt) 359 #define SVC_RECV(xprt, msg, addr, args) \ argument 360 (*(xprt)->xp_ops->xp_recv)((xprt), (msg), (addr), (args)) 362 #define SVC_STAT(xprt) \ argument 363 (*(xprt)->xp_ops->xp_stat)(xprt) 365 #define SVC_ACK(xprt, ack) \ argument [all …]
|
H A D | svc_auth.c | 176 SVCXPRT *xprt = rqst->rq_xprt; in svc_getcred() local 187 if ((xprt->xp_tls & (RPCTLS_FLAGS_CERTUSER | in svc_getcred() 190 if (xprt->xp_ngrps <= 0) in svc_getcred() 193 cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xprt->xp_uid; in svc_getcred() 194 crsetgroups(cr, xprt->xp_ngrps, xprt->xp_gidp); in svc_getcred()
|
H A D | clnt_vc.c | 634 SVCXPRT *xprt; in clnt_vc_control() local 749 xprt = (SVCXPRT *)info; in clnt_vc_control() 751 SVC_ACQUIRE(xprt); in clnt_vc_control() 752 xprt->xp_p2 = ct; in clnt_vc_control() 754 xprt->xp_tls = RPCTLS_FLAGS_HANDSHAKE; in clnt_vc_control() 755 ct->ct_backchannelxprt = xprt; in clnt_vc_control() 852 SVCXPRT *xprt; in clnt_vc_destroy() local 858 xprt = ct->ct_backchannelxprt; in clnt_vc_destroy() 860 if (xprt != NULL) { in clnt_vc_destroy() 862 sx_xlock(&xprt->xp_lock); in clnt_vc_destroy() [all …]
|
H A D | clnt_bck.c | 189 SVCXPRT *xprt) in clnt_bck_call() argument 300 if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0) { in clnt_bck_call() 315 sx_xlock(&xprt->xp_lock); in clnt_bck_call() 316 error = sosend(xprt->xp_socket, NULL, NULL, mreq, NULL, 0, curthread); in clnt_bck_call() 321 SOCK_SENDBUF_LOCK(xprt->xp_socket); in clnt_bck_call() 322 sbwait(xprt->xp_socket, SO_SND); in clnt_bck_call() 323 SOCK_SENDBUF_UNLOCK(xprt->xp_socket); in clnt_bck_call() 324 sx_xunlock(&xprt->xp_lock); in clnt_bck_call() 330 sx_xunlock(&xprt->xp_lock); in clnt_bck_call()
|
H A D | clnt_rc.c | 420 SVCXPRT *xprt; in clnt_reconnect_control() local 505 xprt = (SVCXPRT *)info; in clnt_reconnect_control() 506 xprt_register(xprt); in clnt_reconnect_control() 570 SVCXPRT *xprt; in clnt_reconnect_destroy() local 575 xprt = (SVCXPRT *)rc->rc_backchannel; in clnt_reconnect_destroy() 576 KASSERT(xprt->xp_socket == NULL, in clnt_reconnect_destroy() 578 xprt_unregister(xprt); in clnt_reconnect_destroy() 579 SVC_RELEASE(xprt); in clnt_reconnect_destroy()
|
/freebsd/lib/libc/rpc/ |
H A D | svc.c | 87 static void __xprt_do_unregister (SVCXPRT *xprt, bool_t dolock); 95 xprt_register(SVCXPRT *xprt) in xprt_register() argument 99 assert(xprt != NULL); in xprt_register() 101 sock = xprt->xp_fd; in xprt_register() 114 __svc_xports[sock] = xprt; in xprt_register() 118 __svc_xports[sock] = xprt; in xprt_register() 123 xprt_unregister(SVCXPRT *xprt) in xprt_unregister() argument 125 __xprt_do_unregister(xprt, TRUE); in xprt_unregister() 129 __xprt_unregister_unlocked(SVCXPRT *xprt) in __xprt_unregister_unlocked() argument 131 __xprt_do_unregister(xprt, FALSE); in __xprt_unregister_unlocked() [all …]
|
H A D | svc_vc.c | 81 static bool_t svc_vc_control(SVCXPRT *xprt, const u_int rq, void *in); 82 static bool_t svc_vc_rendezvous_control (SVCXPRT *xprt, const u_int rq, 122 SVCXPRT *xprt = NULL; in svc_vc_create() local 139 xprt = svc_xprt_alloc(); in svc_vc_create() 140 if (xprt == NULL) { in svc_vc_create() 144 xprt->xp_p1 = r; in svc_vc_create() 145 xprt->xp_verf = _null_auth; in svc_vc_create() 146 svc_vc_rendezvous_ops(xprt); in svc_vc_create() 147 xprt->xp_port = (u_short)-1; /* It is the rendezvouser */ in svc_vc_create() 148 xprt->xp_fd = fd; in svc_vc_create() [all …]
|
H A D | svc_dg.c | 65 #define su_data(xprt) ((struct svc_dg_data *)((xprt)->xp_p2)) argument 66 #define rpc_buffer(xprt) ((xprt)->xp_p1) argument 103 SVCXPRT *xprt; in svc_dg_create() local 123 xprt = svc_xprt_alloc(); in svc_dg_create() 124 if (xprt == NULL) in svc_dg_create() 131 if ((rpc_buffer(xprt) = mem_alloc(su->su_iosz)) == NULL) in svc_dg_create() 133 xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz, in svc_dg_create() 136 xprt->xp_fd = fd; in svc_dg_create() 137 xprt->xp_p2 = su; in svc_dg_create() 138 xprt->xp_verf.oa_base = su->su_verfbody; in svc_dg_create() [all …]
|
H A D | svc_generic.c | 80 SVCXPRT *xprt; /* Server handle */ in svc_create() member 85 SVCXPRT *xprt; in svc_create() local 98 if (strcmp(l->xprt->xp_netid, nconf->nc_netid) == 0) { in svc_create() 101 if (svc_reg(l->xprt, prognum, versnum, in svc_create() 114 xprt = svc_tp_create(dispatch, prognum, versnum, nconf); in svc_create() 115 if (xprt) { in svc_create() 123 l->xprt = xprt; in svc_create() 153 SVCXPRT *xprt; in svc_tp_create() local 161 xprt = svc_tli_create(RPC_ANYFD, nconf, NULL, 0, 0); in svc_tp_create() 162 if (xprt == NULL) { in svc_tp_create() [all …]
|
H A D | svc_nl.c | 95 SVCXPRT *xprt; in svc_nl_create() local 110 if ((xprt = svc_xprt_alloc()) == NULL) in svc_nl_create() 123 xprt->xp_fd = sc->snl.fd, in svc_nl_create() 124 xprt->xp_p1 = sc, in svc_nl_create() 125 xprt->xp_ops = &nl_ops, in svc_nl_create() 126 xprt->xp_ops2 = &nl_ops2, in svc_nl_create() 127 xprt->xp_rtaddr = (struct netbuf){ in svc_nl_create() 132 xprt_register(xprt); in svc_nl_create() 134 return (xprt); in svc_nl_create() 143 svc_nl_destroy(SVCXPRT *xprt) in svc_nl_destroy() argument [all …]
|
H A D | svc_raw.c | 122 svc_raw_stat(SVCXPRT *xprt) in svc_raw_stat() argument 129 svc_raw_recv(SVCXPRT *xprt, struct rpc_msg *msg) in svc_raw_recv() argument 153 svc_raw_reply(SVCXPRT *xprt, struct rpc_msg *msg) in svc_raw_reply() argument 180 SVCAUTH_WRAP(&SVC_AUTH(xprt), xdrs, xdr_proc, xdr_where); in svc_raw_reply() 193 svc_raw_getargs(SVCXPRT *xprt, xdrproc_t xdr_args, void *args_ptr) in svc_raw_getargs() argument 205 return (SVCAUTH_UNWRAP(&SVC_AUTH(xprt), &srp->xdr_stream, in svc_raw_getargs() 211 svc_raw_freeargs(SVCXPRT *xprt, xdrproc_t xdr_args, void *args_ptr) in svc_raw_freeargs() argument 231 svc_raw_destroy(SVCXPRT *xprt) in svc_raw_destroy() argument 237 svc_raw_control(SVCXPRT *xprt, const u_int rq, void *in) in svc_raw_control() argument 243 svc_raw_ops(SVCXPRT *xprt) in svc_raw_ops() argument [all …]
|
/freebsd/include/rpc/ |
H A D | svc.h | 177 #define SVC_RECV(xprt, msg) \ argument 178 (*(xprt)->xp_ops->xp_recv)((xprt), (msg)) 179 #define svc_recv(xprt, msg) \ argument 180 (*(xprt)->xp_ops->xp_recv)((xprt), (msg)) 182 #define SVC_STAT(xprt) \ argument 183 (*(xprt)->xp_ops->xp_stat)(xprt) 184 #define svc_stat(xprt) \ argument 185 (*(xprt)->xp_ops->xp_stat)(xprt) 187 #define SVC_GETARGS(xprt, xargs, argsp) \ argument 188 (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp)) [all …]
|
/freebsd/usr.sbin/rpcbind/ |
H A D | pmap_svc.c | 64 pmap_service(struct svc_req *rqstp, SVCXPRT *xprt) in pmap_service() argument 76 check_access(xprt, rqstp->rq_proc, NULL, PMAPVERS); in pmap_service() 77 if ((!svc_sendreply(xprt, (xdrproc_t) xdr_void, NULL)) && in pmap_service() 89 pmapproc_change(rqstp, xprt, rqstp->rq_proc); in pmap_service() 96 pmapproc_change(rqstp, xprt, rqstp->rq_proc); in pmap_service() 104 pmapproc_getport(rqstp, xprt); in pmap_service() 115 pmapproc_dump(rqstp, xprt); in pmap_service() 126 rpcbproc_callit_com(rqstp, xprt, PMAPPROC_CALLIT, PMAPVERS); in pmap_service() 130 svcerr_noproc(xprt); in pmap_service() 162 pmapproc_change(struct svc_req *rqstp __unused, SVCXPRT *xprt, unsigned long op) in pmapproc_change() argument [all …]
|
H A D | rpcb_svc_com.c | 72 SVCXPRT *xprt; member 487 SVCXPRT *xprt; in create_rmtcall_fd() local 496 xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0); in create_rmtcall_fd() 497 if (xprt == NULL) { in create_rmtcall_fd() 508 rmt->xprt = xprt; in create_rmtcall_fd() 510 xprt->xp_netid = rmt->netid; in create_rmtcall_fd() 547 return (rmt->xprt); in find_rmtcallxprt_by_fd() 1178 SVCXPRT *xprt; in check_rmtcalls() local 1185 if ((xprt = find_rmtcallxprt_by_fd(pfds[j].fd)) != NULL) { in check_rmtcalls() 1192 pfds[j].fd, xprt->xp_netid); in check_rmtcalls() [all …]
|
H A D | check_bound.c | 152 mergeaddr(SVCXPRT *xprt, char *netid, char *uaddr, char *saddr) in mergeaddr() argument 176 callee = svc_getrpccallee(xprt); in mergeaddr() 183 c_uaddr = taddr2uaddr(fdl->nconf, svc_getrpccaller(xprt)); in mergeaddr() 207 m_uaddr = addrmerge(svc_getrpccaller(xprt), s_uaddr, c_uaddr, netid); in mergeaddr()
|
H A D | security.c | 58 check_access(SVCXPRT *xprt, rpcproc_t proc, void *args, unsigned int rpcbvers) in check_access() argument 60 struct netbuf *caller = svc_getrpccaller(xprt); in check_access() 228 check_callit(SVCXPRT *xprt, struct r_rmtcall_args *args, int versnum __unused) in check_callit() argument 230 struct sockaddr *sa = (struct sockaddr *)svc_getrpccaller(xprt)->buf; in check_callit()
|
/freebsd/usr.sbin/ypserv/ |
H A D | yp_svc_udp.c | 40 #define su_data(xprt) ((struct svc_dg_data *)((xprt)->xp_p2)) argument 49 svcudp_get_xid(SVCXPRT *xprt) in svcudp_get_xid() argument 53 if (xprt == NULL) in svcudp_get_xid() 55 su = su_data(xprt); in svcudp_get_xid() 60 svcudp_set_xid(SVCXPRT *xprt, unsigned long xid) in svcudp_set_xid() argument 65 if (xprt == NULL) in svcudp_set_xid() 67 su = su_data(xprt); in svcudp_set_xid()
|
H A D | yp_dnslookup.c | 110 SVCXPRT *xprt; member 295 xid = svcudp_set_xid(q->xprt, q->xid); in yp_send_dns_reply() 296 client_addr = q->xprt->xp_raddr; in yp_send_dns_reply() 297 q->xprt->xp_raddr = q->client_addr; in yp_send_dns_reply() 299 if (!svc_sendreply(q->xprt, xdrfunc, result)) in yp_send_dns_reply() 307 svcudp_set_xid(q->xprt, xid); in yp_send_dns_reply() 308 q->xprt->xp_raddr = client_addr; in yp_send_dns_reply() 433 q->xprt = rqstp->rq_xprt; in yp_async_lookup_name() 437 q->xid = svcudp_get_xid(q->xprt); in yp_async_lookup_name() 438 q->client_addr = q->xprt->xp_raddr; in yp_async_lookup_name() [all …]
|
/freebsd/sys/rpc/rpcsec_tls/ |
H A D | rpctls_impl.c | 103 static enum clnt_stat rpctls_server(SVCXPRT *xprt, uint32_t *flags, 364 rpctls_server(SVCXPRT *xprt, uint32_t *flags, uid_t *uid, int *ngrps, in rpctls_server() argument 369 .so = xprt->xp_socket, in rpctls_server() 370 .xp = xprt, in rpctls_server() 385 arg.socookie = (uint64_t)xprt->xp_socket; in rpctls_server() 399 rpctls_rpc_failed(&ups, xprt->xp_socket); in rpctls_server() 423 SVCXPRT *xprt; in _svcauth_rpcsec_tls() local 464 xprt = rqst->rq_xprt; in _svcauth_rpcsec_tls() 465 sx_xlock(&xprt->xp_lock); in _svcauth_rpcsec_tls() 466 xprt->xp_dontrcv = TRUE; in _svcauth_rpcsec_tls() [all …]
|
/freebsd/sys/fs/nfsserver/ |
H A D | nfs_nfsdkrpc.c | 100 static int nfs_proc(struct nfsrv_descript *, u_int32_t, SVCXPRT *xprt, 124 nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) in nfssvc_program() argument 311 if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0) { in nfssvc_program() 313 if ((xprt->xp_tls & RPCTLS_FLAGS_VERIFIED) != 0) in nfssvc_program() 315 if ((xprt->xp_tls & RPCTLS_FLAGS_CERTUSER) != 0) in nfssvc_program() 354 if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0 && in nfssvc_program() 358 cacherep = nfs_proc(&nd, rqst->rq_xid, xprt, &rp); in nfssvc_program() 395 SVC_ACK(xprt, NULL)), rqst->rq_reply_seq); 411 nfs_proc(struct nfsrv_descript *nd, u_int32_t xid, SVCXPRT *xprt, in nfs_proc() 450 nd->nd_sockref = xprt in nfs_proc() 401 nfs_proc(struct nfsrv_descript * nd,u_int32_t xid,SVCXPRT * xprt,struct nfsrvcache ** rpp) nfs_proc() argument 499 nfssvc_loss(SVCXPRT * xprt) nfssvc_loss() argument 519 SVCXPRT *xprt; nfsrvd_addsock() local [all...] |
/freebsd/sys/fs/nfsclient/ |
H A D | nfs_clkrpc.c | 65 nfscb_program(struct svc_req *rqst, SVCXPRT *xprt) in nfscb_program() argument 114 if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0 && in nfscb_program() 186 SVCXPRT *xprt; in nfscbd_addsock() local 200 xprt = svc_dg_create(nfscbd_pool, so, 0, 0); in nfscbd_addsock() 202 xprt = svc_vc_create(nfscbd_pool, so, 0, 0); in nfscbd_addsock() 203 if (xprt) { in nfscbd_addsock() 206 svc_reg(xprt, NFS_CALLBCKPROG, NFSV4_CBVERS, nfscb_program, in nfscbd_addsock() 208 SVC_RELEASE(xprt); in nfscbd_addsock()
|