• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/bsnmp/snmpd/

Lines Matching defs:peer

109  * one and only peer.
116 struct lsock_peer *peer = NULL;
154 if ((peer = calloc(1, sizeof(*peer))) == NULL) {
162 free(peer);
177 if (peer != NULL) {
178 LIST_INSERT_HEAD(&port->peers, peer, link);
180 peer->port = port;
182 peer->input.fd = -1;
183 peer->input.id = NULL;
184 peer->input.stream = is_stream;
185 peer->input.cred = need_cred;
186 peer->input.peer = (struct sockaddr *)&peer->peer;
203 * Close a local domain peer
206 lsock_peer_close(struct lsock_peer *peer)
209 LIST_REMOVE(peer, link);
210 snmpd_input_close(&peer->input);
211 free(peer);
221 struct lsock_peer *peer;
231 while ((peer = LIST_FIRST(&port->peers)) != NULL)
232 lsock_peer_close(peer);
244 struct lsock_peer *peer = udata;
245 struct lsock_port *p = peer->port;
247 peer->input.peerlen = sizeof(peer->peer);
248 if (snmpd_input(&peer->input, &p->tport) == -1 && peer->input.stream)
250 lsock_peer_close(peer);
254 * A UNIX domain listening socket is ready. This means we have a peer
261 struct lsock_peer *peer;
263 if ((peer = calloc(1, sizeof(*peer))) == NULL) {
264 syslog(LOG_WARNING, "%s: peer malloc failed", p->name);
269 peer->port = p;
271 peer->input.stream = 1;
272 peer->input.cred = (p->type == LOCP_DGRAM_PRIV ||
274 peer->input.peerlen = sizeof(peer->peer);
275 peer->input.peer = (struct sockaddr *)&peer->peer;
277 peer->input.fd = accept(fd, peer->input.peer, &peer->input.peerlen);
278 if (peer->input.fd == -1) {
280 free(peer);
284 if ((peer->input.id = fd_select(peer->input.fd, lsock_input,
285 peer, NULL)) == NULL) {
286 close(peer->input.fd);
287 free(peer);
291 LIST_INSERT_HEAD(&p->peers, peer, link);
345 struct lsock_peer *peer;
348 peer = LIST_FIRST(&p->peers);
350 if ((peer->input.fd = socket(PF_LOCAL, SOCK_DGRAM, 0)) < 0) {
355 if (setsockopt(peer->input.fd, 0, LOCAL_CREDS, &on,
358 close(peer->input.fd);
359 peer->input.fd = -1;
369 if (bind(peer->input.fd, (struct sockaddr *)&sa, sizeof(sa))) {
371 close(peer->input.fd);
372 peer->input.fd = -1;
376 close(peer->input.fd);
377 peer->input.fd = -1;
383 peer->input.id = fd_select(peer->input.fd, lsock_input,
384 peer, NULL);
385 if (peer->input.id == NULL) {
387 close(peer->input.fd);
388 peer->input.fd = -1;
403 struct lsock_peer *peer;
406 peer = LIST_FIRST(&p->peers);
409 /* search for the peer */
410 LIST_FOREACH(peer, &p->peers, link)
411 if (peer->input.peerlen == addrlen &&
412 memcmp(peer->input.peer, addr, addrlen) == 0)
414 if (peer == NULL) {
420 return (sendto(peer->input.fd, buf, len, 0, addr, addrlen));
465 msg.msg_name = pi->peer;