diff options
author | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
commit | 0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch) | |
tree | 416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/dk4sock26.c | |
parent | fdb18507cd80dc17f5a5256153d34668b4f4e61c (diff) |
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4sock26.c')
-rw-r--r-- | support/dktools/dk4sock26.c | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/support/dktools/dk4sock26.c b/support/dktools/dk4sock26.c deleted file mode 100644 index 4900ec9310..0000000000 --- a/support/dktools/dk4sock26.c +++ /dev/null @@ -1,277 +0,0 @@ -/* -Copyright (C) 2015-2020, Dirk Krause -SPDX-License-Identifier: BSD-3-Clause -*/ - -/* - WARNING: This file was generated by the dkct program (see - http://dktools.sourceforge.net/ for details). - Changes you make here will be lost if dkct is run again! - You should modify the original source and run dkct on it. - Original source: dk4sock26.ctr -*/ - -/** @file dk4sock26.c The dk4sock26 module. -*/ - - -#line 8 "dk4sock26.ctr" - - - -#include "dk4conf.h" -#include "dk4types.h" -#include "dk4error.h" -#include "dk4mem.h" -#include "dk4sock.h" -#include "dk4str8.h" -#include "dk4mai8dsz.h" - -#if DK4_HAVE_ASSERT_H -#ifndef ASSERT_H_INCLUDED -#include <assert.h> -#define ASSERT_H_INCLUDED 1 -#endif -#endif - - - - -#line 28 "dk4sock26.ctr" - - - -#if TRACE_DEBUG - -static -void -dk4socket_c8_debug_allowed_peer(dk4_allowed_peer_t *peerptr) -{ - FILE *fipo; -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - unsigned char *ucptr; - size_t i; - size_t pass; -#endif - unsigned long ul1, ul2; - fipo = dktrace_file(); - - if (NULL != fipo) { - switch (peerptr->af) { - case AF_INET : { - ul1 = (peerptr->data).ipv4.ad.s_addr; - ul2 = (peerptr->data).ipv4.ma.s_addr; - ul1 = dk4socket_ntohl(ul1); - ul2 = dk4socket_ntohl(ul2); - fprintf( - fipo, - "Address/Mask: %lu.%lu.%lu.%lu/%lu.%lu.%lu.%lu\n", - ((ul1 >> 24) & 0x000000FFUL), - ((ul1 >> 16) & 0x000000FFUL), - ((ul1 >> 8) & 0x000000FFUL), - ((ul1 ) & 0x000000FFUL), - ((ul2 >> 24) & 0x000000FFUL), - ((ul2 >> 16) & 0x000000FFUL), - ((ul2 >> 8) & 0x000000FFUL), - ((ul2 ) & 0x000000FFUL) - ); - } break; -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - case AF_INET6 : { - fputs("Address/Mask: ", fipo); - for (pass = 0; pass < 2; pass++) { - if (0 != pass) { - fputc('/', fipo); - ucptr = &((peerptr->data).ipv6.ma.s6_addr[0]); - } else { - ucptr = &((peerptr->data).ipv6.ad.s6_addr[0]); - } - for (i = 0; i < 16; i++) { - if ((0 != i) && (0 == (i % 2))) { - fputc(':', fipo); - } - fprintf(fipo, "%02x", *(ucptr++)); - } - } - fputc('\n', fipo); - } break; -#endif - } - } -} - -#endif - - - -int -dk4socket_c8_get_allowed_peer( - dk4_allowed_peer_t *peerptr, - const char *str, - dk4_er_t *erp -) -{ - char mycp[128]; - IN_ADDR in4; - IN_ADDR ma4; -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - IN6_ADDR in6; - IN6_ADDR ma6; -#endif - char *maptr; - const char *endptr = NULL; - size_t bitno = 0; -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - size_t i = 0; -#endif - unsigned long nm4 = 0UL; - int back = DK4_SOCKET_RESULT_FAILED; - int af = AF_UNSPEC; - int res = 0; - - -#line 119 "dk4sock26.ctr" -#if DK4_USE_ASSERT - assert(NULL != peerptr); - assert(NULL != str); -#endif - if ((NULL != peerptr) && (NULL != str)) { - if (0 != dk4str8_cpy_s(mycp, sizeof(mycp), str, erp)) { - maptr = dk4str8_chr(mycp, '/'); - if (NULL != maptr) { *(maptr++) = '\0'; } - back = dk4socket_c8_inet_pton( &in4, sizeof(in4), AF_INET, mycp, erp); - if (DK4_SOCKET_RESULT_SUCCESS == back) { af = AF_INET; } -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - else { - back = dk4socket_c8_inet_pton( &in6, sizeof(in6), AF_INET6, mycp, erp); - if (DK4_SOCKET_RESULT_SUCCESS == back) { af = AF_INET6; } - } -#endif - if (DK4_SOCKET_RESULT_SUCCESS == back) { - back = DK4_SOCKET_RESULT_FAILED; - if (NULL != maptr) { - -#line 138 "dk4sock26.ctr" - res = dk4ma_input_c8_dec_size_t(&bitno, maptr, &endptr, 1, NULL); - if (0 != res) { - -#line 140 "dk4sock26.ctr" - /* Bit number was specified. - */ - switch (af) { - case AF_INET : { - if (0 != dk4socket_mask_bits(&nm4, bitno, erp)) { - ma4.s_addr = dk4socket_htonl(nm4); - DK4_MEMCPY(&((peerptr->data).ipv4.ad),&in4,sizeof(in4)); - DK4_MEMCPY(&((peerptr->data).ipv4.ma),&ma4,sizeof(ma4)); - peerptr->af = af; - back = DK4_SOCKET_RESULT_SUCCESS; - } else { - -#line 151 "dk4sock26.ctr" - } - } break; -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - case AF_INET6 : { - back = dk4socket_mask6_bits(&ma6, bitno, erp); - if (DK4_SOCKET_RESULT_SUCCESS == back) { - DK4_MEMCPY(&((peerptr->data).ipv6.ad),&in6,sizeof(in6)); - DK4_MEMCPY(&((peerptr->data).ipv6.ma),&ma6,sizeof(ma6)); - peerptr->af = af; - } else { - -#line 161 "dk4sock26.ctr" - } - } break; -#endif - default : { - /* Must not happen */ - } break; - } - } else { - -#line 169 "dk4sock26.ctr" - /* Not a bit number, probably an address. - */ - switch (af) { - case AF_INET : { - back = dk4socket_c8_inet_pton( - &ma4, sizeof(ma4), AF_INET, maptr, erp - ); - if (DK4_SOCKET_RESULT_SUCCESS == back) { - DK4_MEMCPY(&((peerptr->data).ipv4.ad),&in4,sizeof(in4)); - DK4_MEMCPY(&((peerptr->data).ipv4.ma),&ma4,sizeof(ma4)); - peerptr->af = af; - } else { - -#line 181 "dk4sock26.ctr" - } - } break; -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - case AF_INET6 : { - back = dk4socket_c8_inet_pton( - &ma6, sizeof(ma6), AF_INET6, maptr, erp - ); - if (DK4_SOCKET_RESULT_SUCCESS == back) { - DK4_MEMCPY(&((peerptr->data).ipv6.ad),&in6,sizeof(in6)); - DK4_MEMCPY(&((peerptr->data).ipv6.ma),&ma6,sizeof(ma6)); - peerptr->af = af; - } else { - -#line 193 "dk4sock26.ctr" - } - } break; -#endif - } - } - } else { - -#line 199 "dk4sock26.ctr" - /* Host was specified - */ - switch (af) { - case AF_INET : { - ma4.s_addr = dk4socket_htonl(0xFFFFFFFFUL); - DK4_MEMCPY(&((peerptr->data).ipv4.ad), &in4, sizeof(in4)); - DK4_MEMCPY(&((peerptr->data).ipv4.ma), &ma4, sizeof(ma4)); - peerptr->af = af; - back = DK4_SOCKET_RESULT_SUCCESS; - } break; -#if DK4_HAVE_STRUCT_SOCKADDR_IN6 - case AF_INET6 : { - for (i = 0; i < 16; i++) { ma6.s6_addr[i] = 0xFF; } - DK4_MEMCPY(&((peerptr->data).ipv6.ad), &in6, sizeof(in6)); - DK4_MEMCPY(&((peerptr->data).ipv6.ma), &ma6, sizeof(ma6)); - peerptr->af = af; - back = DK4_SOCKET_RESULT_SUCCESS; - } break; -#endif - default : { - /* Must not happen */ - } break; - } - } - } else { - -#line 224 "dk4sock26.ctr" - } - } else { - -#line 226 "dk4sock26.ctr" - } - } else { - -#line 228 "dk4sock26.ctr" - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - } -#if TRACE_DEBUG - if (DK4_SOCKET_RESULT_SUCCESS == back) { - dk4socket_c8_debug_allowed_peer(peerptr); - } -#endif - - -#line 236 "dk4sock26.ctr" - return back; -} - |