Home | History | Annotate | Download | only in inetd

Lines Matching refs:sep

78 rl_process(struct servtab *sep, int ctrl)
83 SERV_PARAMS(sep));
85 "%zu and se_count %zu", SERV_PARAMS(sep),
86 sep->se_service_max, sep->se_count);
88 if (sep->se_count == 0) {
90 sep->se_time = now;
93 if (!rl_process_service_max(sep, ctrl, &now)
94 || !rl_process_ip_max(sep, ctrl, &now)) {
98 DPRINTF(SERV_FMT ": running service ", SERV_PARAMS(sep));
101 sep->se_count++;
106 * Get the identifier for the remote peer based on sep->se_socktype and
107 * sep->se_family
110 rl_get_name(struct servtab *sep, int ctrl, union addr *out)
120 switch (sep->se_socktype) {
127 "connection", SERV_PARAMS(sep));
152 "socktype", SERV_PARAMS(sep));
155 SERV_PARAMS(sep));
160 switch (sep->se_family) {
180 SERV_PARAMS(sep), gai_strerror(res));
189 rl_drop_connection(struct servtab *sep, int ctrl)
192 if (sep->se_wait == 0 && sep->se_socktype == SOCK_STREAM) {
200 if (sep->se_socktype != SOCK_DGRAM) {
218 SERV_PARAMS(sep), strerror(errno));
222 SERV_PARAMS(sep));
240 rl_add(struct servtab *sep, union addr *addr)
249 switch(sep->se_family) {
283 switch(sep->se_family) {
298 SLIST_INSERT_HEAD(&sep->se_rl_ip_list, node, entries);
301 SERV_PARAMS(sep), rl_node_tostring(sep, node, buffer), node_size);
307 rl_reset(struct servtab *sep, time_t now)
310 SERV_PARAMS(sep), (intmax_t)(now - sep->se_time));
312 sep->se_count = 0;
313 sep->se_time = now;
314 if (sep->se_ip_max != SERVTAB_UNSPEC_SIZE_T) {
315 rl_clear_ip_list(sep);
320 rl_clear_ip_list(struct servtab *sep)
322 while (!SLIST_EMPTY(&sep->se_rl_ip_list)) {
323 struct rl_ip_node *node = SLIST_FIRST(&sep->se_rl_ip_list);
324 SLIST_REMOVE_HEAD(&sep->se_rl_ip_list, entries);
331 rl_try_get_ip(struct servtab *sep, union addr *addr)
335 SLIST_FOREACH(cur, &sep->se_rl_ip_list, entries) {
336 if (rl_ip_eq(sep, addr, cur)) {
346 rl_process_service_max(struct servtab *sep, int ctrl, time_t *now)
348 if (sep->se_count >= sep->se_service_max) {
354 if (*now - sep->se_time > CNT_INTVL) {
355 rl_reset(sep, *now);
360 SERV_PARAMS(sep),
361 sep->se_service_max,
367 SERV_PARAMS(sep),
368 sep->se_service_max,
372 rl_drop_connection(sep, ctrl);
375 close_sep(sep);
389 rl_process_ip_max(struct servtab *sep, int ctrl, time_t *now) {
390 if (sep->se_ip_max != SERVTAB_UNSPEC_SIZE_T) {
394 rl_get_name(sep, ctrl, &addr);
395 node = rl_try_get_ip(sep, &addr);
397 node = rl_add(sep, &addr);
410 rl_print_found_node(sep, node);
416 SERV_PARAMS(sep), sep->se_ip_max, node->count);
418 if (node->count >= sep->se_ip_max) {
423 if (*now - sep->se_time > CNT_INTVL) {
424 rl_reset(sep, *now);
425 node = rl_add(sep, &addr);
431 if (debug && node->count == sep->se_ip_max) {
437 rl_log_address_exceed(sep, node);
441 SERV_PARAMS(sep));
444 rl_drop_connection(sep, ctrl);
461 rl_ip_eq(struct servtab *sep, union addr *addr, struct rl_ip_node *cur) {
462 switch(sep->se_family) {
507 rl_node_tostring(struct servtab *sep, struct rl_ip_node *node,
510 switch (sep->se_family) {
516 return inet_ntop(sep->se_family, (void*)&node->ipv4_addr,
526 rl_print_found_node(struct servtab *sep, struct rl_ip_node *node)
530 SERV_PARAMS(sep), rl_node_tostring(sep, node, buffer));
536 rl_log_address_exceed(struct servtab *sep, struct rl_ip_node *node)
539 const char * name = rl_node_tostring(sep, node, buffer);
545 SERV_PARAMS(sep),
546 sep->se_ip_max,
554 SERV_PARAMS(sep),
555 sep->se_ip_max,