1 // SoftEther VPN Server JSON-RPC Stub code for C# 2 // 3 // VPNServerRpcTypes.cs - Data Type Definition for SoftEther VPN Server JSON-RPC Stubs 4 // 5 // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen 6 // 7 // Licensed under the Apache License 2.0 8 // Copyright (c) 2014-2019 SoftEther VPN Project 9 10 using System; 11 using Newtonsoft.Json; 12 13 namespace SoftEther.VPNServerRpc 14 { 15 /// <summary> 16 /// IP Protocol Numbers 17 /// </summary> 18 public enum VpnIpProtocolNumber 19 { 20 /// <summary> 21 /// ICMP for IPv4 22 /// </summary> 23 ICMPv4 = 1, 24 25 /// <summary> 26 /// TCP 27 /// </summary> 28 TCP = 6, 29 30 /// <summary> 31 /// UDP 32 /// </summary> 33 UDP = 17, 34 35 /// <summary> 36 /// ICMP for IPv6 37 /// </summary> 38 ICMPv6 = 58, 39 } 40 41 /// <summary> 42 /// The body of the Access list 43 /// </summary> 44 public class VpnAccess 45 { 46 /// <summary> 47 /// ID 48 /// </summary> 49 public uint Id_u32; 50 51 /// <summary> 52 /// Specify a description (note) for this rule 53 /// </summary> 54 public string Note_utf; 55 56 /// <summary> 57 /// Enabled flag (true: enabled, false: disabled) 58 /// </summary> 59 public bool Active_bool; 60 61 /// <summary> 62 /// Specify an integer of 1 or higher to indicate the priority of the rule. Higher priority is given to rules with the lower priority values. 63 /// </summary> 64 public uint Priority_u32; 65 66 /// <summary> 67 /// The flag if the rule is DISCARD operation or PASS operation. When a packet matches this rule condition, this operation is decided. When the operation of the rule is PASS, the packet is allowed to pass, otherwise the packet will be discarded. 68 /// </summary> 69 public bool Discard_bool; 70 71 /// <summary> 72 /// The flag if the rule is for IPv6. Specify false for IPv4, or specify true for IPv6. 73 /// </summary> 74 public bool IsIPv6_bool; 75 76 /// <summary> 77 /// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a source IPv4 address as a rule condition. You must also specify the SrcSubnetMask_ip field. 78 /// </summary> 79 public string SrcIpAddress_ip; 80 81 /// <summary> 82 /// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a source IPv4 subnet mask as a rule condition. "0.0.0.0" means all hosts. "255.255.255.255" means one single host. 83 /// </summary> 84 public string SrcSubnetMask_ip; 85 86 /// <summary> 87 /// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a destination IPv4 address as a rule condition. You must also specify the DestSubnetMask_ip field. 88 /// </summary> 89 public string DestIpAddress_ip; 90 91 /// <summary> 92 /// Valid only if the rule is IPv4 mode (IsIPv6_bool == false). Specify a destination IPv4 subnet mask as a rule condition. "0.0.0.0" means all hosts. "255.255.255.255" means one single host. 93 /// </summary> 94 public string DestSubnetMask_ip; 95 96 /// <summary> 97 /// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a source IPv6 address as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 address in binary form. You must also specify the SrcSubnetMask6_bin field. 98 /// </summary> 99 public byte[] SrcIpAddress6_bin; 100 101 /// <summary> 102 /// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a source IPv6 subnet mask as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 subnet mask in binary form. 103 /// </summary> 104 public byte[] SrcSubnetMask6_bin; 105 106 /// <summary> 107 /// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a destination IPv6 address as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 address in binary form. You must also specify the DestSubnetMask6_bin field. 108 /// </summary> 109 public byte[] DestIpAddress6_bin; 110 111 /// <summary> 112 /// Valid only if the rule is IPv6 mode (IsIPv6_bool == true). Specify a destination IPv6 subnet mask as a rule condition. The field must be a byte array of 16 bytes (128 bits) to contain the IPv6 subnet mask in binary form. 113 /// </summary> 114 public byte[] DestSubnetMask6_bin; 115 116 /// <summary> 117 /// The IP protocol number 118 /// </summary> 119 public VpnIpProtocolNumber Protocol_u32; 120 121 /// <summary> 122 /// The Start Value of the Source Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the source port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers. 123 /// </summary> 124 public uint SrcPortStart_u32; 125 126 /// <summary> 127 /// The End Value of the Source Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the source port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers. 128 /// </summary> 129 public uint SrcPortEnd_u32; 130 131 /// <summary> 132 /// The Start Value of the Destination Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the destination port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers. 133 /// </summary> 134 public uint DestPortStart_u32; 135 136 /// <summary> 137 /// The End Value of the Destination Port Number Range. If the specified protocol is TCP/IP or UDP/IP, specify the destination port number as the rule condition. Protocols other than this will be ignored. When this parameter is not specified, the rules will apply to all port numbers. 138 /// </summary> 139 public uint DestPortEnd_u32; 140 141 /// <summary> 142 /// Source user name. You can apply this rule to only the packets sent by a user session of a user name that has been specified as a rule condition. In this case, specify the user name. 143 /// </summary> 144 public string SrcUsername_str; 145 146 /// <summary> 147 /// Destination user name. You can apply this rule to only the packets received by a user session of a user name that has been specified as a rule condition. In this case, specify the user name. 148 /// </summary> 149 public string DestUsername_str; 150 151 /// <summary> 152 /// Specify true if you want to check the source MAC address. 153 /// </summary> 154 public bool CheckSrcMac_bool; 155 156 /// <summary> 157 /// Source MAC address (6 bytes), valid only if CheckSrcMac_bool == true. 158 /// </summary> 159 public byte[] SrcMacAddress_bin; 160 161 /// <summary> 162 /// Source MAC address mask (6 bytes), valid only if CheckSrcMac_bool == true. 163 /// </summary> 164 public byte[] SrcMacMask_bin; 165 166 /// <summary> 167 /// Specify true if you want to check the destination MAC address. 168 /// </summary> 169 public bool CheckDstMac_bool; 170 171 /// <summary> 172 /// Destination MAC address (6 bytes), valid only if CheckSrcMac_bool == true. 173 /// </summary> 174 public byte[] DstMacAddress_bin; 175 176 /// <summary> 177 /// Destination MAC address mask (6 bytes), valid only if CheckSrcMac_bool == true. 178 /// </summary> 179 public byte[] DstMacMask_bin; 180 181 /// <summary> 182 /// Specify true if you want to check the state of the TCP connection. 183 /// </summary> 184 public bool CheckTcpState_bool; 185 186 /// <summary> 187 /// Valid only if CheckTcpState_bool == true. Set this field true to match only TCP-established packets. Set this field false to match only TCP-non established packets. 188 /// </summary> 189 public bool Established_bool; 190 191 /// <summary> 192 /// Set this value to generate delays when packets is passing. Specify the delay period in milliseconds. Specify 0 means no delays to generate. The delays must be 10000 milliseconds at most. 193 /// </summary> 194 public uint Delay_u32; 195 196 /// <summary> 197 /// Set this value to generate jitters when packets is passing. Specify the ratio of fluctuation of jitters within 0% to 100% range. Specify 0 means no jitters to generate. 198 /// </summary> 199 public uint Jitter_u32; 200 201 /// <summary> 202 /// Set this value to generate packet losses when packets is passing. Specify the ratio of packet losses within 0% to 100% range. Specify 0 means no packet losses to generate. 203 /// </summary> 204 public uint Loss_u32; 205 206 /// <summary> 207 /// The specified URL will be mandatory replied to the client as a response for TCP connecting request packets which matches the conditions of this access list entry via this Virtual Hub. To use this setting, you can enforce the web browser of the VPN Client computer to show the specified web site when that web browser tries to access the specific IP address. 208 /// </summary> 209 public string RedirectUrl_str; 210 } 211 212 /// <summary> 213 /// Add an item to Access List 214 /// </summary> 215 public class VpnRpcAddAccess 216 { 217 /// <summary> 218 /// The Virtual Hub name 219 /// </summary> 220 public string HubName_str; 221 222 /// <summary> 223 /// Access list (Must be a single item) 224 /// </summary> 225 public VpnAccess[] AccessListSingle; 226 } 227 228 /// <summary> 229 /// Add CA to HUB 230 /// </summary> 231 public class VpnRpcHubAddCA 232 { 233 /// <summary> 234 /// The Virtual Hub name 235 /// </summary> 236 public string HubName_str; 237 238 /// <summary> 239 /// The body of the X.509 certificate 240 /// </summary> 241 public byte[] Cert_bin; 242 } 243 244 /// <summary> 245 /// CRL entry 246 /// </summary> 247 public class VpnRpcCrl 248 { 249 /// <summary> 250 /// The Virtual Hub name 251 /// </summary> 252 public string HubName_str; 253 254 /// <summary> 255 /// Key ID 256 /// </summary> 257 public uint Key_u32; 258 259 /// <summary> 260 /// CN, optional 261 /// </summary> 262 public string CommonName_utf; 263 264 /// <summary> 265 /// O, optional 266 /// </summary> 267 public string Organization_utf; 268 269 /// <summary> 270 /// OU, optional 271 /// </summary> 272 public string Unit_utf; 273 274 /// <summary> 275 /// C, optional 276 /// </summary> 277 public string Country_utf; 278 279 /// <summary> 280 /// ST, optional 281 /// </summary> 282 public string State_utf; 283 284 /// <summary> 285 /// L, optional 286 /// </summary> 287 public string Local_utf; 288 289 /// <summary> 290 /// Serial, optional 291 /// </summary> 292 public byte[] Serial_bin; 293 294 /// <summary> 295 /// MD5 Digest, optional 296 /// </summary> 297 public byte[] DigestMD5_bin; 298 299 /// <summary> 300 /// SHA1 Digest, optional 301 /// </summary> 302 public byte[] DigestSHA1_bin; 303 } 304 305 /// <summary> 306 /// EtherIP key list entry 307 /// </summary> 308 public class VpnEtherIpId 309 { 310 /// <summary> 311 /// Specify an ISAKMP Phase 1 ID. The ID must be exactly same as a ID in the configuration of the EtherIP / L2TPv3 Client. You can specify IP address as well as characters as ID, if the EtherIP Client uses IP address as Phase 1 ID. If you specify '*' (asterisk), it will be a wildcard to match any clients which doesn't match other explicit rules. 312 /// </summary> 313 public string Id_str; 314 315 /// <summary> 316 /// Specify the name of the Virtual Hub to connect. 317 /// </summary> 318 public string HubName_str; 319 320 /// <summary> 321 /// Specify the username to login to the destination Virtual Hub. 322 /// </summary> 323 public string UserName_str; 324 325 /// <summary> 326 /// Specify the password to login to the destination Virtual Hub. 327 /// </summary> 328 public string Password_str; 329 } 330 331 /// <summary> 332 /// Layer-3 virtual interface 333 /// </summary> 334 public class VpnRpcL3If 335 { 336 /// <summary> 337 /// L3 switch name 338 /// </summary> 339 public string Name_str; 340 341 /// <summary> 342 /// Virtual HUB name 343 /// </summary> 344 public string HubName_str; 345 346 /// <summary> 347 /// IP address 348 /// </summary> 349 public string IpAddress_ip; 350 351 /// <summary> 352 /// Subnet mask 353 /// </summary> 354 public string SubnetMask_ip; 355 } 356 357 /// <summary> 358 /// Layer-3 switch 359 /// </summary> 360 public class VpnRpcL3Sw 361 { 362 /// <summary> 363 /// Layer-3 Switch name 364 /// </summary> 365 public string Name_str; 366 } 367 368 /// <summary> 369 /// Routing table 370 /// </summary> 371 public class VpnRpcL3Table 372 { 373 /// <summary> 374 /// L3 switch name 375 /// </summary> 376 public string Name_str; 377 378 /// <summary> 379 /// Network address 380 /// </summary> 381 public string NetworkAddress_ip; 382 383 /// <summary> 384 /// Subnet mask 385 /// </summary> 386 public string SubnetMask_ip; 387 388 /// <summary> 389 /// Gateway address 390 /// </summary> 391 public string GatewayAddress_ip; 392 393 /// <summary> 394 /// Metric 395 /// </summary> 396 public uint Metric_u32; 397 } 398 399 /// <summary> 400 /// Generic parameter to contain u32, u64, ascii_string and unicode string 401 /// </summary> 402 public class VpnRpcTest 403 { 404 /// <summary> 405 /// A 32-bit integer field 406 /// </summary> 407 public uint IntValue_u32; 408 409 /// <summary> 410 /// A 64-bit integer field 411 /// </summary> 412 public ulong Int64Value_u64; 413 414 /// <summary> 415 /// An Ascii string field 416 /// </summary> 417 public string StrValue_str; 418 419 /// <summary> 420 /// An UTF-8 string field 421 /// </summary> 422 public string UniStrValue_utf; 423 } 424 425 /// <summary> 426 /// Local Bridge list item 427 /// </summary> 428 public class VpnRpcLocalBridge 429 { 430 /// <summary> 431 /// Physical Ethernet device name 432 /// </summary> 433 public string DeviceName_str; 434 435 /// <summary> 436 /// The Virtual Hub name 437 /// </summary> 438 public string HubNameLB_str; 439 440 /// <summary> 441 /// Online flag 442 /// </summary> 443 public bool Online_bool; 444 445 /// <summary> 446 /// Running flag 447 /// </summary> 448 public bool Active_bool; 449 450 /// <summary> 451 /// Specify true if you are using a tap device rather than a network adapter for the bridge destination (only supported for Linux versions). 452 /// </summary> 453 public bool TapMode_bool; 454 } 455 456 /// <summary> 457 /// Create, configure, and get the group 458 /// </summary> 459 public class VpnRpcSetGroup 460 { 461 /// <summary> 462 /// The Virtual Hub name 463 /// </summary> 464 public string HubName_str; 465 466 /// <summary> 467 /// The group name 468 /// </summary> 469 public string Name_str; 470 471 /// <summary> 472 /// Optional real name (full name) of the group, allow using any Unicode characters 473 /// </summary> 474 public string Realname_utf; 475 476 /// <summary> 477 /// Optional, specify a description of the group 478 /// </summary> 479 public string Note_utf; 480 481 /// <summary> 482 /// Number of broadcast packets (Recv) 483 /// </summary> 484 [JsonProperty("Recv.BroadcastBytes_u64")] 485 public ulong Recv_BroadcastBytes_u64; 486 487 /// <summary> 488 /// Broadcast bytes (Recv) 489 /// </summary> 490 [JsonProperty("Recv.BroadcastCount_u64")] 491 public ulong Recv_BroadcastCount_u64; 492 493 /// <summary> 494 /// Unicast count (Recv) 495 /// </summary> 496 [JsonProperty("Recv.UnicastBytes_u64")] 497 public ulong Recv_UnicastBytes_u64; 498 499 /// <summary> 500 /// Unicast bytes (Recv) 501 /// </summary> 502 [JsonProperty("Recv.UnicastCount_u64")] 503 public ulong Recv_UnicastCount_u64; 504 505 /// <summary> 506 /// Number of broadcast packets (Send) 507 /// </summary> 508 [JsonProperty("Send.BroadcastBytes_u64")] 509 public ulong Send_BroadcastBytes_u64; 510 511 /// <summary> 512 /// Broadcast bytes (Send) 513 /// </summary> 514 [JsonProperty("Send.BroadcastCount_u64")] 515 public ulong Send_BroadcastCount_u64; 516 517 /// <summary> 518 /// Unicast bytes (Send) 519 /// </summary> 520 [JsonProperty("Send.UnicastBytes_u64")] 521 public ulong Send_UnicastBytes_u64; 522 523 /// <summary> 524 /// Unicast bytes (Send) 525 /// </summary> 526 [JsonProperty("Send.UnicastCount_u64")] 527 public ulong Send_UnicastCount_u64; 528 529 /// <summary> 530 /// The flag whether to use security policy 531 /// </summary> 532 public bool UsePolicy_bool; 533 534 // ---- Start of Security policy --- 535 /// <summary> 536 /// Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server. 537 /// </summary> 538 [JsonProperty("policy:Access_bool")] 539 public bool SecPol_Access_bool; 540 541 /// <summary> 542 /// Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered. 543 /// </summary> 544 [JsonProperty("policy:DHCPFilter_bool")] 545 public bool SecPol_DHCPFilter_bool; 546 547 /// <summary> 548 /// Security policy: Disallow DHCP Server Operation (IPv4). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv4 addresses to DHCP clients. 549 /// </summary> 550 [JsonProperty("policy:DHCPNoServer_bool")] 551 public bool SecPol_DHCPNoServer_bool; 552 553 /// <summary> 554 /// Security policy: Enforce DHCP Allocated IP Addresses (IPv4). Computers in sessions that have this policy setting will only be able to use IPv4 addresses allocated by a DHCP server on the virtual network side. 555 /// </summary> 556 [JsonProperty("policy:DHCPForce_bool")] 557 public bool SecPol_DHCPForce_bool; 558 559 /// <summary> 560 /// Security policy: Deny Bridge Operation. Bridge-mode connections are denied for user sessions that have this policy setting. Even in cases when the Ethernet Bridge is configured in the client side, communication will not be possible. 561 /// </summary> 562 [JsonProperty("policy:NoBridge_bool")] 563 public bool SecPol_NoBridge_bool; 564 565 /// <summary> 566 /// Security policy: Deny Routing Operation (IPv4). IPv4 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible. 567 /// </summary> 568 [JsonProperty("policy:NoRouting_bool")] 569 public bool SecPol_NoRouting_bool; 570 571 /// <summary> 572 /// Security policy: Deny MAC Addresses Duplication. The use of duplicating MAC addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 573 /// </summary> 574 [JsonProperty("policy:CheckMac_bool")] 575 public bool SecPol_CheckMac_bool; 576 577 /// <summary> 578 /// Security policy: Deny IP Address Duplication (IPv4). The use of duplicating IPv4 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 579 /// </summary> 580 [JsonProperty("policy:CheckIP_bool")] 581 public bool SecPol_CheckIP_bool; 582 583 /// <summary> 584 /// Security policy: Deny Non-ARP / Non-DHCP / Non-ICMPv6 broadcasts. The sending or receiving of broadcast packets that are not ARP protocol, DHCP protocol, nor ICMPv6 on the virtual network will not be allowed for sessions with this policy setting. 585 /// </summary> 586 [JsonProperty("policy:ArpDhcpOnly_bool")] 587 public bool SecPol_ArpDhcpOnly_bool; 588 589 /// <summary> 590 /// Security policy: Privacy Filter Mode. All direct communication between sessions with the privacy filter mode policy setting will be filtered. 591 /// </summary> 592 [JsonProperty("policy:PrivacyFilter_bool")] 593 public bool SecPol_PrivacyFilter_bool; 594 595 /// <summary> 596 /// Security policy: Deny Operation as TCP/IP Server (IPv4). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv4. 597 /// </summary> 598 [JsonProperty("policy:NoServer_bool")] 599 public bool SecPol_NoServer_bool; 600 601 /// <summary> 602 /// Security policy: Unlimited Number of Broadcasts. If a computer of a session with this policy setting sends broadcast packets of a number unusually larger than what would be considered normal on the virtual network, there will be no automatic limiting. 603 /// </summary> 604 [JsonProperty("policy:NoBroadcastLimiter_bool")] 605 public bool SecPol_NoBroadcastLimiter_bool; 606 607 /// <summary> 608 /// Security policy: Allow Monitoring Mode. Users with this policy setting will be granted to connect to the Virtual Hub in Monitoring Mode. Sessions in Monitoring Mode are able to monitor (tap) all packets flowing through the Virtual Hub. 609 /// </summary> 610 [JsonProperty("policy:MonitorPort_bool")] 611 public bool SecPol_MonitorPort_bool; 612 613 /// <summary> 614 /// Security policy: Maximum Number of TCP Connections. For sessions with this policy setting, this sets the maximum number of physical TCP connections consists in a physical VPN session. 615 /// </summary> 616 [JsonProperty("policy:MaxConnection_u32")] 617 public uint SecPol_MaxConnection_u32; 618 619 /// <summary> 620 /// Security policy: Time-out Period. For sessions with this policy setting, this sets, in seconds, the time-out period to wait before disconnecting a session when communication trouble occurs between the VPN Client / VPN Server. 621 /// </summary> 622 [JsonProperty("policy:TimeOut_u32")] 623 public uint SecPol_TimeOut_u32; 624 625 /// <summary> 626 /// Security policy: Maximum Number of MAC Addresses. For sessions with this policy setting, this limits the number of MAC addresses per session. 627 /// </summary> 628 [JsonProperty("policy:MaxMac_u32")] 629 public uint SecPol_MaxMac_u32; 630 631 /// <summary> 632 /// Security policy: Maximum Number of IP Addresses (IPv4). For sessions with this policy setting, this specifies the number of IPv4 addresses that can be registered for a single session. 633 /// </summary> 634 [JsonProperty("policy:MaxIP_u32")] 635 public uint SecPol_MaxIP_u32; 636 637 /// <summary> 638 /// Security policy: Upload Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the inwards direction from outside to inside the Virtual Hub. 639 /// </summary> 640 [JsonProperty("policy:MaxUpload_u32")] 641 public uint SecPol_MaxUpload_u32; 642 643 /// <summary> 644 /// Security policy: Download Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the outwards direction from inside the Virtual Hub to outside the Virtual Hub. 645 /// </summary> 646 [JsonProperty("policy:MaxDownload_u32")] 647 public uint SecPol_MaxDownload_u32; 648 649 /// <summary> 650 /// Security policy: Deny Changing Password. The users which use password authentication with this policy setting are not allowed to change their own password from the VPN Client Manager or similar. 651 /// </summary> 652 [JsonProperty("policy:FixPassword_bool")] 653 public bool SecPol_FixPassword_bool; 654 655 /// <summary> 656 /// Security policy: Maximum Number of Multiple Logins. Users with this policy setting are unable to have more than this number of concurrent logins. Bridge Mode sessions are not subjects to this policy. 657 /// </summary> 658 [JsonProperty("policy:MultiLogins_u32")] 659 public uint SecPol_MultiLogins_u32; 660 661 /// <summary> 662 /// Security policy: Deny VoIP / QoS Function. Users with this security policy are unable to use VoIP / QoS functions in VPN connection sessions. 663 /// </summary> 664 [JsonProperty("policy:NoQoS_bool")] 665 public bool SecPol_NoQoS_bool; 666 667 /// <summary> 668 /// Security policy: Filter RS / RA Packets (IPv6). All ICMPv6 packets which the message-type is 133 (Router Solicitation) or 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, an IPv6 client will be unable to use IPv6 address prefix auto detection and IPv6 default gateway auto detection. 669 /// </summary> 670 [JsonProperty("policy:RSandRAFilter_bool")] 671 public bool SecPol_RSandRAFilter_bool; 672 673 /// <summary> 674 /// Security policy: Filter RA Packets (IPv6). All ICMPv6 packets which the message-type is 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, a malicious users will be unable to spread illegal IPv6 prefix or default gateway advertisements on the network. 675 /// </summary> 676 [JsonProperty("policy:RAFilter_bool")] 677 public bool SecPol_RAFilter_bool; 678 679 /// <summary> 680 /// Security policy: Filter DHCP Packets (IPv6). All IPv6 DHCP packets in sessions defined this policy will be filtered. 681 /// </summary> 682 [JsonProperty("policy:DHCPv6Filter_bool")] 683 public bool SecPol_DHCPv6Filter_bool; 684 685 /// <summary> 686 /// Security policy: Disallow DHCP Server Operation (IPv6). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv6 addresses to DHCP clients. 687 /// </summary> 688 [JsonProperty("policy:DHCPv6NoServer_bool")] 689 public bool SecPol_DHCPv6NoServer_bool; 690 691 /// <summary> 692 /// Security policy: Deny Routing Operation (IPv6). IPv6 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible. 693 /// </summary> 694 [JsonProperty("policy:NoRoutingV6_bool")] 695 public bool SecPol_NoRoutingV6_bool; 696 697 /// <summary> 698 /// Security policy: Deny IP Address Duplication (IPv6). The use of duplicating IPv6 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 699 /// </summary> 700 [JsonProperty("policy:CheckIPv6_bool")] 701 public bool SecPol_CheckIPv6_bool; 702 703 /// <summary> 704 /// Security policy: Deny Operation as TCP/IP Server (IPv6). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv6. 705 /// </summary> 706 [JsonProperty("policy:NoServerV6_bool")] 707 public bool SecPol_NoServerV6_bool; 708 709 /// <summary> 710 /// Security policy: Maximum Number of IP Addresses (IPv6). For sessions with this policy setting, this specifies the number of IPv6 addresses that can be registered for a single session. 711 /// </summary> 712 [JsonProperty("policy:MaxIPv6_u32")] 713 public uint SecPol_MaxIPv6_u32; 714 715 /// <summary> 716 /// Security policy: Disallow Password Save in VPN Client. For users with this policy setting, when the user is using *standard* password authentication, the user will be unable to save the password in VPN Client. The user will be required to input passwords for every time to connect a VPN. This will improve the security. If this policy is enabled, VPN Client Version 2.0 will be denied to access. 717 /// </summary> 718 [JsonProperty("policy:NoSavePassword_bool")] 719 public bool SecPol_NoSavePassword_bool; 720 721 /// <summary> 722 /// Security policy: VPN Client Automatic Disconnect. For users with this policy setting, a user's VPN session will be disconnected automatically after the specific period will elapse. In this case no automatic re-connection will be performed. This can prevent a lot of inactive VPN Sessions. If this policy is enabled, VPN Client Version 2.0 will be denied to access. 723 /// </summary> 724 [JsonProperty("policy:AutoDisconnect_u32")] 725 public uint SecPol_AutoDisconnect_u32; 726 727 /// <summary> 728 /// Security policy: Filter All IPv4 Packets. All IPv4 and ARP packets in sessions defined this policy will be filtered. 729 /// </summary> 730 [JsonProperty("policy:FilterIPv4_bool")] 731 public bool SecPol_FilterIPv4_bool; 732 733 /// <summary> 734 /// Security policy: Filter All IPv6 Packets. All IPv6 packets in sessions defined this policy will be filtered. 735 /// </summary> 736 [JsonProperty("policy:FilterIPv6_bool")] 737 public bool SecPol_FilterIPv6_bool; 738 739 /// <summary> 740 /// Security policy: Filter All Non-IP Packets. All non-IP packets in sessions defined this policy will be filtered. "Non-IP packet" mean a packet which is not IPv4, ARP nor IPv6. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. 741 /// </summary> 742 [JsonProperty("policy:FilterNonIP_bool")] 743 public bool SecPol_FilterNonIP_bool; 744 745 /// <summary> 746 /// Security policy: No Default-Router on IPv6 RA. In all VPN Sessions defines this policy, any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router. 747 /// </summary> 748 [JsonProperty("policy:NoIPv6DefaultRouterInRA_bool")] 749 public bool SecPol_NoIPv6DefaultRouterInRA_bool; 750 751 /// <summary> 752 /// Security policy: No Default-Router on IPv6 RA (physical IPv6). In all VPN Sessions defines this policy (only when the physical communication protocol between VPN Client / VPN Bridge and VPN Server is IPv6), any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router. 753 /// </summary> 754 [JsonProperty("policy:NoIPv6DefaultRouterInRAWhenIPv6_bool")] 755 public bool SecPol_NoIPv6DefaultRouterInRAWhenIPv6_bool; 756 757 /// <summary> 758 /// Security policy: VLAN ID (IEEE802.1Q). You can specify the VLAN ID on the security policy. All VPN Sessions defines this policy, all Ethernet packets toward the Virtual Hub from the user will be inserted a VLAN tag (IEEE 802.1Q) with the VLAN ID. The user can also receive only packets with a VLAN tag which has the same VLAN ID. (Receiving process removes the VLAN tag automatically.) Any Ethernet packets with any other VLAN IDs or non-VLAN packets will not be received. All VPN Sessions without this policy definition can send / receive any kinds of Ethernet packets regardless of VLAN tags, and VLAN tags are not inserted or removed automatically. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. Therefore, tagged-VLAN packets are not subjects for IPv4 / IPv6 security policies, access lists nor other IPv4 / IPv6 specific deep processing. 759 /// </summary> 760 [JsonProperty("policy:VLanId_u32")] 761 public uint SecPol_VLanId_u32; 762 763 /// <summary> 764 /// Security policy: Whether version 3.0 (must be true) 765 /// </summary> 766 [JsonProperty("policy:Ver3_bool")] 767 public bool SecPol_Ver3_bool = true; 768 // ---- End of Security policy --- 769 } 770 771 /// <summary> 772 /// Hub types 773 /// </summary> 774 public enum VpnRpcHubType 775 { 776 /// <summary> 777 /// Stand-alone HUB 778 /// </summary> 779 Standalone = 0, 780 781 /// <summary> 782 /// Static HUB 783 /// </summary> 784 FarmStatic = 1, 785 786 /// <summary> 787 /// Dynamic HUB 788 /// </summary> 789 FarmDynamic = 2, 790 } 791 792 /// <summary> 793 /// Create a HUB 794 /// </summary> 795 public class VpnRpcCreateHub 796 { 797 /// <summary> 798 /// Specify the name of the Virtual Hub to create / update. 799 /// </summary> 800 public string HubName_str; 801 802 /// <summary> 803 /// Specify an administrator password when the administrator password is going to be set for the Virtual Hub. On the update, leave it to empty string if you don't want to change the password. 804 /// </summary> 805 public string AdminPasswordPlainText_str; 806 807 /// <summary> 808 /// Online flag 809 /// </summary> 810 public bool Online_bool; 811 812 /// <summary> 813 /// Maximum number of VPN sessions 814 /// </summary> 815 public uint MaxSession_u32; 816 817 /// <summary> 818 /// No Enum flag. By enabling this option, the VPN Client user will be unable to enumerate this Virtual Hub even if they send a Virtual Hub enumeration request to the VPN Server. 819 /// </summary> 820 public bool NoEnum_bool; 821 822 /// <summary> 823 /// Type of the Virtual Hub (Valid only for Clustered VPN Servers) 824 /// </summary> 825 public VpnRpcHubType HubType_u32; 826 } 827 828 public enum VpnRpcClientAuthType 829 { 830 /// <summary> 831 /// Anonymous authentication 832 /// </summary> 833 Anonymous = 0, 834 835 /// <summary> 836 /// SHA-0 hashed password authentication 837 /// </summary> 838 SHA0_Hashed_Password = 1, 839 840 /// <summary> 841 /// Plain password authentication 842 /// </summary> 843 PlainPassword = 2, 844 845 /// <summary> 846 /// Certificate authentication 847 /// </summary> 848 Cert = 3, 849 } 850 851 /// <summary> 852 /// Create and set of link 853 /// </summary> 854 public class VpnRpcCreateLink 855 { 856 /// <summary> 857 /// The Virtual Hub name 858 /// </summary> 859 public string HubName_Ex_str; 860 861 /// <summary> 862 /// Online flag 863 /// </summary> 864 public bool Online_bool; 865 866 /// <summary> 867 /// The flag to enable validation for the server certificate 868 /// </summary> 869 public bool CheckServerCert_bool; 870 871 /// <summary> 872 /// The body of server X.509 certificate to compare. Valid only if the CheckServerCert_bool flag is true. 873 /// </summary> 874 public byte[] ServerCert_bin; 875 876 // ---- Start of Client Option Parameters --- 877 /// <summary> 878 /// Client Option Parameters: Specify the name of the Cascade Connection 879 /// </summary> 880 [JsonProperty("AccountName_utf")] 881 public string ClientOption_AccountName_utf; 882 883 /// <summary> 884 /// Client Option Parameters: Specify the hostname of the destination VPN Server. You can also specify by IP address. 885 /// </summary> 886 [JsonProperty("Hostname_str")] 887 public string ClientOption_Hostname_str; 888 889 /// <summary> 890 /// Client Option Parameters: Specify the port number of the destination VPN Server. 891 /// </summary> 892 [JsonProperty("Port_u32")] 893 public uint ClientOption_Port_u32; 894 895 /// <summary> 896 /// Client Option Parameters: The type of the proxy server 897 /// </summary> 898 [JsonProperty("ProxyType_u32")] 899 public VpnRpcProxyType ClientOption_ProxyType_u32; 900 901 /// <summary> 902 /// Client Option Parameters: The hostname or IP address of the proxy server name 903 /// </summary> 904 [JsonProperty("ProxyName_str")] 905 public string ClientOption_ProxyName_str; 906 907 /// <summary> 908 /// Client Option Parameters: The port number of the proxy server 909 /// </summary> 910 [JsonProperty("ProxyPort_u32")] 911 public uint ClientOption_ProxyPort_u32; 912 913 /// <summary> 914 /// Client Option Parameters: The username to connect to the proxy server 915 /// </summary> 916 [JsonProperty("ProxyUsername_str")] 917 public string ClientOption_ProxyUsername_str; 918 919 /// <summary> 920 /// Client Option Parameters: The password to connect to the proxy server 921 /// </summary> 922 [JsonProperty("ProxyPassword_str")] 923 public string ClientOption_ProxyPassword_str; 924 925 /// <summary> 926 /// Client Option Parameters: The Virtual Hub on the destination VPN Server 927 /// </summary> 928 [JsonProperty("HubName_str")] 929 public string ClientOption_HubName_str; 930 931 /// <summary> 932 /// Client Option Parameters: Number of TCP Connections to Use in VPN Communication 933 /// </summary> 934 [JsonProperty("MaxConnection_u32")] 935 public uint ClientOption_MaxConnection_u32; 936 937 /// <summary> 938 /// Client Option Parameters: The flag to enable the encryption on the communication 939 /// </summary> 940 [JsonProperty("UseEncrypt_bool")] 941 public bool ClientOption_UseEncrypt_bool; 942 943 /// <summary> 944 /// Client Option Parameters: Enable / Disable Data Compression when Communicating by Cascade Connection 945 /// </summary> 946 [JsonProperty("UseCompress_bool")] 947 public bool ClientOption_UseCompress_bool; 948 949 /// <summary> 950 /// Client Option Parameters: Specify true when enabling half duplex mode. When using two or more TCP connections for VPN communication, it is possible to use Half Duplex Mode. By enabling half duplex mode it is possible to automatically fix data transmission direction as half and half for each TCP connection. In the case where a VPN using 8 TCP connections is established, for example, when half-duplex is enabled, communication can be fixes so that 4 TCP connections are dedicated to the upload direction and the other 4 connections are dedicated to the download direction. 951 /// </summary> 952 [JsonProperty("HalfConnection_bool")] 953 public bool ClientOption_HalfConnection_bool; 954 955 /// <summary> 956 /// Client Option Parameters: Connection attempt interval when additional connection will be established 957 /// </summary> 958 [JsonProperty("AdditionalConnectionInterval_u32")] 959 public uint ClientOption_AdditionalConnectionInterval_u32; 960 961 /// <summary> 962 /// Client Option Parameters: Connection Life of Each TCP Connection (0 for no keep-alive) 963 /// </summary> 964 [JsonProperty("ConnectionDisconnectSpan_u32")] 965 public uint ClientOption_ConnectionDisconnectSpan_u32; 966 967 /// <summary> 968 /// Client Option Parameters: Disable QoS Control Function if the value is true 969 /// </summary> 970 [JsonProperty("DisableQoS_bool")] 971 public bool ClientOption_DisableQoS_bool; 972 973 /// <summary> 974 /// Client Option Parameters: Do not use TLS 1.x of the value is true 975 /// </summary> 976 [JsonProperty("NoTls1_bool")] 977 public bool ClientOption_NoTls1_bool; 978 979 /// <summary> 980 /// Client Option Parameters: Do not use UDP acceleration mode if the value is true 981 /// </summary> 982 [JsonProperty("NoUdpAcceleration_bool")] 983 public bool ClientOption_NoUdpAcceleration_bool; 984 // ---- End of Client Option --- 985 986 // ---- Start of Client Auth Parameters --- 987 /// <summary> 988 /// Authentication type 989 /// </summary> 990 [JsonProperty("AuthType_u32")] 991 public VpnRpcClientAuthType ClientAuth_AuthType_u32; 992 993 /// <summary> 994 /// User name 995 /// </summary> 996 [JsonProperty("Username_str")] 997 public string ClientAuth_Username_str; 998 999 /// <summary> 1000 /// SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(UpperCase(username_ascii_string) + password_ascii_string). 1001 /// </summary> 1002 [JsonProperty("HashedPassword_bin")] 1003 public byte[] ClientAuth_HashedPassword_bin; 1004 1005 /// <summary> 1006 /// Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2). 1007 /// </summary> 1008 [JsonProperty("PlainPassword_str")] 1009 public string ClientAuth_PlainPassword_str; 1010 1011 /// <summary> 1012 /// Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3). 1013 /// </summary> 1014 [JsonProperty("ClientX_bin")] 1015 public byte[] ClientAuth_ClientX_bin; 1016 1017 /// <summary> 1018 /// Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3). 1019 /// </summary> 1020 [JsonProperty("ClientK_bin")] 1021 public byte[] ClientAuth_ClientK_bin; 1022 1023 /// <summary> 1024 /// Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered. 1025 /// </summary> 1026 [JsonProperty("policy:DHCPFilter_bool")] 1027 public bool SecPol_DHCPFilter_bool; 1028 1029 /// <summary> 1030 /// Security policy: Disallow DHCP Server Operation (IPv4). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv4 addresses to DHCP clients. 1031 /// </summary> 1032 [JsonProperty("policy:DHCPNoServer_bool")] 1033 public bool SecPol_DHCPNoServer_bool; 1034 1035 /// <summary> 1036 /// Security policy: Enforce DHCP Allocated IP Addresses (IPv4). Computers in sessions that have this policy setting will only be able to use IPv4 addresses allocated by a DHCP server on the virtual network side. 1037 /// </summary> 1038 [JsonProperty("policy:DHCPForce_bool")] 1039 public bool SecPol_DHCPForce_bool; 1040 1041 /// <summary> 1042 /// Security policy: Prohibit the duplicate MAC address 1043 /// </summary> 1044 /// Security policy: Deny MAC Addresses Duplication. The use of duplicating MAC addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 1045 public bool SecPol_CheckMac_bool; 1046 1047 /// <summary> 1048 /// Security policy: Prohibit a duplicate IP address (IPv4) 1049 /// </summary> 1050 /// Security policy: Deny IP Address Duplication (IPv4). The use of duplicating IPv4 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 1051 public bool SecPol_CheckIP_bool; 1052 1053 /// <summary> 1054 /// Security policy: Deny Non-ARP / Non-DHCP / Non-ICMPv6 broadcasts. The sending or receiving of broadcast packets that are not ARP protocol, DHCP protocol, nor ICMPv6 on the virtual network will not be allowed for sessions with this policy setting. 1055 /// </summary> 1056 [JsonProperty("policy:ArpDhcpOnly_bool")] 1057 public bool SecPol_ArpDhcpOnly_bool; 1058 1059 /// <summary> 1060 /// Security policy: Privacy Filter Mode. All direct communication between sessions with the privacy filter mode policy setting will be filtered. 1061 /// </summary> 1062 [JsonProperty("policy:PrivacyFilter_bool")] 1063 public bool SecPol_PrivacyFilter_bool; 1064 1065 /// <summary> 1066 /// Security policy: Deny Operation as TCP/IP Server (IPv4). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv4. 1067 /// </summary> 1068 [JsonProperty("policy:NoServer_bool")] 1069 public bool SecPol_NoServer_bool; 1070 1071 /// <summary> 1072 /// Security policy: Unlimited Number of Broadcasts. If a computer of a session with this policy setting sends broadcast packets of a number unusually larger than what would be considered normal on the virtual network, there will be no automatic limiting. 1073 /// </summary> 1074 [JsonProperty("policy:NoBroadcastLimiter_bool")] 1075 public bool SecPol_NoBroadcastLimiter_bool; 1076 1077 /// <summary> 1078 /// Security policy: Maximum Number of MAC Addresses. For sessions with this policy setting, this limits the number of MAC addresses per session. 1079 /// </summary> 1080 [JsonProperty("policy:MaxMac_u32")] 1081 public uint SecPol_MaxMac_u32; 1082 1083 /// <summary> 1084 /// Security policy: Maximum Number of IP Addresses (IPv4). For sessions with this policy setting, this specifies the number of IPv4 addresses that can be registered for a single session. 1085 /// </summary> 1086 [JsonProperty("policy:MaxIP_u32")] 1087 public uint SecPol_MaxIP_u32; 1088 1089 /// <summary> 1090 /// Security policy: Upload Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the inwards direction from outside to inside the Virtual Hub. 1091 /// </summary> 1092 [JsonProperty("policy:MaxUpload_u32")] 1093 public uint SecPol_MaxUpload_u32; 1094 1095 /// <summary> 1096 /// Security policy: Download Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the outwards direction from inside the Virtual Hub to outside the Virtual Hub. 1097 /// </summary> 1098 [JsonProperty("policy:MaxDownload_u32")] 1099 public uint SecPol_MaxDownload_u32; 1100 1101 /// <summary> 1102 /// Security policy: Filter RS / RA Packets (IPv6). All ICMPv6 packets which the message-type is 133 (Router Solicitation) or 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, an IPv6 client will be unable to use IPv6 address prefix auto detection and IPv6 default gateway auto detection. 1103 /// </summary> 1104 [JsonProperty("policy:RSandRAFilter_bool")] 1105 public bool SecPol_RSandRAFilter_bool; 1106 1107 /// <summary> 1108 /// Security policy: Filter the router advertisement packet (IPv6) 1109 /// </summary> 1110 /// Security policy: Filter RA Packets (IPv6). All ICMPv6 packets which the message-type is 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, a malicious users will be unable to spread illegal IPv6 prefix or default gateway advertisements on the network. 1111 public bool SecPol_RAFilter_bool; 1112 1113 /// <summary> 1114 /// Security policy: Filter DHCP Packets (IPv6). All IPv6 DHCP packets in sessions defined this policy will be filtered. 1115 /// </summary> 1116 [JsonProperty("policy:DHCPv6Filter_bool")] 1117 public bool SecPol_DHCPv6Filter_bool; 1118 1119 /// <summary> 1120 /// Security policy: Disallow DHCP Server Operation (IPv6). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv6 addresses to DHCP clients. 1121 /// </summary> 1122 [JsonProperty("policy:DHCPv6NoServer_bool")] 1123 public bool SecPol_DHCPv6NoServer_bool; 1124 1125 /// <summary> 1126 /// Security policy: Prohibit the duplicate IP address (IPv6) 1127 /// </summary> 1128 /// Security policy: Deny IP Address Duplication (IPv6). The use of duplicating IPv6 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 1129 public bool SecPol_CheckIPv6_bool; 1130 1131 /// <summary> 1132 /// Security policy: Deny Operation as TCP/IP Server (IPv6). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv6. 1133 /// </summary> 1134 [JsonProperty("policy:NoServerV6_bool")] 1135 public bool SecPol_NoServerV6_bool; 1136 1137 /// <summary> 1138 /// Security policy: Maximum Number of IP Addresses (IPv6). For sessions with this policy setting, this specifies the number of IPv6 addresses that can be registered for a single session. 1139 /// </summary> 1140 [JsonProperty("policy:MaxIPv6_u32")] 1141 public uint SecPol_MaxIPv6_u32; 1142 1143 /// <summary> 1144 /// Security policy: Filter All IPv4 Packets. All IPv4 and ARP packets in sessions defined this policy will be filtered. 1145 /// </summary> 1146 [JsonProperty("policy:FilterIPv4_bool")] 1147 public bool SecPol_FilterIPv4_bool; 1148 1149 /// <summary> 1150 /// Security policy: Filter All IPv6 Packets. All IPv6 packets in sessions defined this policy will be filtered. 1151 /// </summary> 1152 [JsonProperty("policy:FilterIPv6_bool")] 1153 public bool SecPol_FilterIPv6_bool; 1154 1155 /// <summary> 1156 /// Security policy: Filter All Non-IP Packets. All non-IP packets in sessions defined this policy will be filtered. "Non-IP packet" mean a packet which is not IPv4, ARP nor IPv6. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. 1157 /// </summary> 1158 [JsonProperty("policy:FilterNonIP_bool")] 1159 public bool SecPol_FilterNonIP_bool; 1160 1161 /// <summary> 1162 /// Security policy: No Default-Router on IPv6 RA. In all VPN Sessions defines this policy, any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router. 1163 /// </summary> 1164 [JsonProperty("policy:NoIPv6DefaultRouterInRA_bool")] 1165 public bool SecPol_NoIPv6DefaultRouterInRA_bool; 1166 1167 /// <summary> 1168 /// Security policy: VLAN ID (IEEE802.1Q). You can specify the VLAN ID on the security policy. All VPN Sessions defines this policy, all Ethernet packets toward the Virtual Hub from the user will be inserted a VLAN tag (IEEE 802.1Q) with the VLAN ID. The user can also receive only packets with a VLAN tag which has the same VLAN ID. (Receiving process removes the VLAN tag automatically.) Any Ethernet packets with any other VLAN IDs or non-VLAN packets will not be received. All VPN Sessions without this policy definition can send / receive any kinds of Ethernet packets regardless of VLAN tags, and VLAN tags are not inserted or removed automatically. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. Therefore, tagged-VLAN packets are not subjects for IPv4 / IPv6 security policies, access lists nor other IPv4 / IPv6 specific deep processing. 1169 /// </summary> 1170 [JsonProperty("policy:VLanId_u32")] 1171 public uint SecPol_VLanId_u32; 1172 1173 /// <summary> 1174 /// Security policy: Whether version 3.0 (must be true) 1175 /// </summary> 1176 [JsonProperty("policy:Ver3_bool")] 1177 public bool SecPol_Ver3_bool = true; 1178 // ---- End of Security policy --- 1179 } 1180 1181 /// <summary> 1182 /// Listener 1183 /// </summary> 1184 public class VpnRpcListener 1185 { 1186 /// <summary> 1187 /// Port number (Range: 1 - 65535) 1188 /// </summary> 1189 public uint Port_u32; 1190 1191 /// <summary> 1192 /// Active state 1193 /// </summary> 1194 public bool Enable_bool; 1195 } 1196 1197 /// <summary> 1198 /// User authentication type (server side) 1199 /// </summary> 1200 public enum VpnRpcUserAuthType 1201 { 1202 /// <summary> 1203 /// Anonymous authentication 1204 /// </summary> 1205 Anonymous = 0, 1206 1207 /// <summary> 1208 /// Password authentication 1209 /// </summary> 1210 Password = 1, 1211 1212 /// <summary> 1213 /// User certificate authentication 1214 /// </summary> 1215 UserCert = 2, 1216 1217 /// <summary> 1218 /// Root certificate which is issued by trusted Certificate Authority 1219 /// </summary> 1220 RootCert = 3, 1221 1222 /// <summary> 1223 /// Radius authentication 1224 /// </summary> 1225 Radius = 4, 1226 1227 /// <summary> 1228 /// Windows NT authentication 1229 /// </summary> 1230 NTDomain = 5, 1231 } 1232 1233 /// <summary> 1234 /// Create, configure, and get the user 1235 /// </summary> 1236 public class VpnRpcSetUser 1237 { 1238 /// <summary> 1239 /// The Virtual Hub name 1240 /// </summary> 1241 public string HubName_str; 1242 1243 /// <summary> 1244 /// Specify the user name of the user 1245 /// </summary> 1246 public string Name_str; 1247 1248 /// <summary> 1249 /// Assigned group name for the user 1250 /// </summary> 1251 public string GroupName_str; 1252 1253 /// <summary> 1254 /// Optional real name (full name) of the user, allow using any Unicode characters 1255 /// </summary> 1256 public string Realname_utf; 1257 1258 /// <summary> 1259 /// Optional User Description 1260 /// </summary> 1261 public string Note_utf; 1262 1263 /// <summary> 1264 /// Creation date and time 1265 /// </summary> 1266 public DateTime CreatedTime_dt; 1267 1268 /// <summary> 1269 /// Last modified date and time 1270 /// </summary> 1271 public DateTime UpdatedTime_dt; 1272 1273 /// <summary> 1274 /// Expiration date and time 1275 /// </summary> 1276 public DateTime ExpireTime_dt; 1277 1278 /// <summary> 1279 /// Authentication method of the user 1280 /// </summary> 1281 public VpnRpcUserAuthType AuthType_u32; 1282 1283 /// <summary> 1284 /// User password, valid only if AuthType_u32 == Password(1). Valid only to create or set operations. 1285 /// </summary> 1286 public string Auth_Password_str; 1287 1288 /// <summary> 1289 /// User certificate, valid only if AuthType_u32 == UserCert(2). 1290 /// </summary> 1291 [JsonProperty("UserX_bin")] 1292 public byte[] Auth_UserCert_CertData; 1293 1294 /// <summary> 1295 /// Certificate Serial Number, optional, valid only if AuthType_u32 == RootCert(3). 1296 /// </summary> 1297 [JsonProperty("Serial_bin")] 1298 public byte[] Auth_RootCert_Serial; 1299 1300 /// <summary> 1301 /// Certificate Common Name, optional, valid only if AuthType_u32 == RootCert(3). 1302 /// </summary> 1303 [JsonProperty("CommonName_utf")] 1304 public string Auth_RootCert_CommonName; 1305 1306 /// <summary> 1307 /// Username in RADIUS server, optional, valid only if AuthType_u32 == Radius(4). 1308 /// </summary> 1309 [JsonProperty("RadiusUsername_utf")] 1310 public string Auth_Radius_RadiusUsername; 1311 1312 /// <summary> 1313 /// Username in NT Domain server, optional, valid only if AuthType_u32 == NT(5). 1314 /// </summary> 1315 [JsonProperty("NtUsername_utf")] 1316 public string Auth_NT_NTUsername; 1317 1318 /// <summary> 1319 /// Number of total logins of the user 1320 /// </summary> 1321 public uint NumLogin_u32; 1322 1323 /// <summary> 1324 /// Number of broadcast packets (Recv) 1325 /// </summary> 1326 [JsonProperty("Recv.BroadcastBytes_u64")] 1327 public ulong Recv_BroadcastBytes_u64; 1328 1329 /// <summary> 1330 /// Broadcast bytes (Recv) 1331 /// </summary> 1332 [JsonProperty("Recv.BroadcastCount_u64")] 1333 public ulong Recv_BroadcastCount_u64; 1334 1335 /// <summary> 1336 /// Unicast count (Recv) 1337 /// </summary> 1338 [JsonProperty("Recv.UnicastBytes_u64")] 1339 public ulong Recv_UnicastBytes_u64; 1340 1341 /// <summary> 1342 /// Unicast bytes (Recv) 1343 /// </summary> 1344 [JsonProperty("Recv.UnicastCount_u64")] 1345 public ulong Recv_UnicastCount_u64; 1346 1347 /// <summary> 1348 /// Number of broadcast packets (Send) 1349 /// </summary> 1350 [JsonProperty("Send.BroadcastBytes_u64")] 1351 public ulong Send_BroadcastBytes_u64; 1352 1353 /// <summary> 1354 /// Broadcast bytes (Send) 1355 /// </summary> 1356 [JsonProperty("Send.BroadcastCount_u64")] 1357 public ulong Send_BroadcastCount_u64; 1358 1359 /// <summary> 1360 /// Unicast bytes (Send) 1361 /// </summary> 1362 [JsonProperty("Send.UnicastBytes_u64")] 1363 public ulong Send_UnicastBytes_u64; 1364 1365 /// <summary> 1366 /// Unicast bytes (Send) 1367 /// </summary> 1368 [JsonProperty("Send.UnicastCount_u64")] 1369 public ulong Send_UnicastCount_u64; 1370 1371 /// <summary> 1372 /// The flag whether to use security policy 1373 /// </summary> 1374 public bool UsePolicy_bool; 1375 1376 // ---- Start of Security policy --- 1377 /// <summary> 1378 /// Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server. 1379 /// </summary> 1380 [JsonProperty("policy:Access_bool")] 1381 public bool SecPol_Access_bool; 1382 1383 /// <summary> 1384 /// Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered. 1385 /// </summary> 1386 [JsonProperty("policy:DHCPFilter_bool")] 1387 public bool SecPol_DHCPFilter_bool; 1388 1389 /// <summary> 1390 /// Security policy: Disallow DHCP Server Operation (IPv4). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv4 addresses to DHCP clients. 1391 /// </summary> 1392 [JsonProperty("policy:DHCPNoServer_bool")] 1393 public bool SecPol_DHCPNoServer_bool; 1394 1395 /// <summary> 1396 /// Security policy: Enforce DHCP Allocated IP Addresses (IPv4). Computers in sessions that have this policy setting will only be able to use IPv4 addresses allocated by a DHCP server on the virtual network side. 1397 /// </summary> 1398 [JsonProperty("policy:DHCPForce_bool")] 1399 public bool SecPol_DHCPForce_bool; 1400 1401 /// <summary> 1402 /// Security policy: Deny Bridge Operation. Bridge-mode connections are denied for user sessions that have this policy setting. Even in cases when the Ethernet Bridge is configured in the client side, communication will not be possible. 1403 /// </summary> 1404 [JsonProperty("policy:NoBridge_bool")] 1405 public bool SecPol_NoBridge_bool; 1406 1407 /// <summary> 1408 /// Security policy: Deny Routing Operation (IPv4). IPv4 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible. 1409 /// </summary> 1410 [JsonProperty("policy:NoRouting_bool")] 1411 public bool SecPol_NoRouting_bool; 1412 1413 /// <summary> 1414 /// Security policy: Deny MAC Addresses Duplication. The use of duplicating MAC addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 1415 /// </summary> 1416 [JsonProperty("policy:CheckMac_bool")] 1417 public bool SecPol_CheckMac_bool; 1418 1419 /// <summary> 1420 /// Security policy: Deny IP Address Duplication (IPv4). The use of duplicating IPv4 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 1421 /// </summary> 1422 [JsonProperty("policy:CheckIP_bool")] 1423 public bool SecPol_CheckIP_bool; 1424 1425 /// <summary> 1426 /// Security policy: Deny Non-ARP / Non-DHCP / Non-ICMPv6 broadcasts. The sending or receiving of broadcast packets that are not ARP protocol, DHCP protocol, nor ICMPv6 on the virtual network will not be allowed for sessions with this policy setting. 1427 /// </summary> 1428 [JsonProperty("policy:ArpDhcpOnly_bool")] 1429 public bool SecPol_ArpDhcpOnly_bool; 1430 1431 /// <summary> 1432 /// Security policy: Privacy Filter Mode. All direct communication between sessions with the privacy filter mode policy setting will be filtered. 1433 /// </summary> 1434 [JsonProperty("policy:PrivacyFilter_bool")] 1435 public bool SecPol_PrivacyFilter_bool; 1436 1437 /// <summary> 1438 /// Security policy: Deny Operation as TCP/IP Server (IPv4). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv4. 1439 /// </summary> 1440 [JsonProperty("policy:NoServer_bool")] 1441 public bool SecPol_NoServer_bool; 1442 1443 /// <summary> 1444 /// Security policy: Unlimited Number of Broadcasts. If a computer of a session with this policy setting sends broadcast packets of a number unusually larger than what would be considered normal on the virtual network, there will be no automatic limiting. 1445 /// </summary> 1446 [JsonProperty("policy:NoBroadcastLimiter_bool")] 1447 public bool SecPol_NoBroadcastLimiter_bool; 1448 1449 /// <summary> 1450 /// Security policy: Allow Monitoring Mode. Users with this policy setting will be granted to connect to the Virtual Hub in Monitoring Mode. Sessions in Monitoring Mode are able to monitor (tap) all packets flowing through the Virtual Hub. 1451 /// </summary> 1452 [JsonProperty("policy:MonitorPort_bool")] 1453 public bool SecPol_MonitorPort_bool; 1454 1455 /// <summary> 1456 /// Security policy: Maximum Number of TCP Connections. For sessions with this policy setting, this sets the maximum number of physical TCP connections consists in a physical VPN session. 1457 /// </summary> 1458 [JsonProperty("policy:MaxConnection_u32")] 1459 public uint SecPol_MaxConnection_u32; 1460 1461 /// <summary> 1462 /// Security policy: Time-out Period. For sessions with this policy setting, this sets, in seconds, the time-out period to wait before disconnecting a session when communication trouble occurs between the VPN Client / VPN Server. 1463 /// </summary> 1464 [JsonProperty("policy:TimeOut_u32")] 1465 public uint SecPol_TimeOut_u32; 1466 1467 /// <summary> 1468 /// Security policy: Maximum Number of MAC Addresses. For sessions with this policy setting, this limits the number of MAC addresses per session. 1469 /// </summary> 1470 [JsonProperty("policy:MaxMac_u32")] 1471 public uint SecPol_MaxMac_u32; 1472 1473 /// <summary> 1474 /// Security policy: Maximum Number of IP Addresses (IPv4). For sessions with this policy setting, this specifies the number of IPv4 addresses that can be registered for a single session. 1475 /// </summary> 1476 [JsonProperty("policy:MaxIP_u32")] 1477 public uint SecPol_MaxIP_u32; 1478 1479 /// <summary> 1480 /// Security policy: Upload Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the inwards direction from outside to inside the Virtual Hub. 1481 /// </summary> 1482 [JsonProperty("policy:MaxUpload_u32")] 1483 public uint SecPol_MaxUpload_u32; 1484 1485 /// <summary> 1486 /// Security policy: Download Bandwidth. For sessions with this policy setting, this limits the traffic bandwidth that is in the outwards direction from inside the Virtual Hub to outside the Virtual Hub. 1487 /// </summary> 1488 [JsonProperty("policy:MaxDownload_u32")] 1489 public uint SecPol_MaxDownload_u32; 1490 1491 /// <summary> 1492 /// Security policy: Deny Changing Password. The users which use password authentication with this policy setting are not allowed to change their own password from the VPN Client Manager or similar. 1493 /// </summary> 1494 [JsonProperty("policy:FixPassword_bool")] 1495 public bool SecPol_FixPassword_bool; 1496 1497 /// <summary> 1498 /// Security policy: Maximum Number of Multiple Logins. Users with this policy setting are unable to have more than this number of concurrent logins. Bridge Mode sessions are not subjects to this policy. 1499 /// </summary> 1500 [JsonProperty("policy:MultiLogins_u32")] 1501 public uint SecPol_MultiLogins_u32; 1502 1503 /// <summary> 1504 /// Security policy: Deny VoIP / QoS Function. Users with this security policy are unable to use VoIP / QoS functions in VPN connection sessions. 1505 /// </summary> 1506 [JsonProperty("policy:NoQoS_bool")] 1507 public bool SecPol_NoQoS_bool; 1508 1509 /// <summary> 1510 /// Security policy: Filter RS / RA Packets (IPv6). All ICMPv6 packets which the message-type is 133 (Router Solicitation) or 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, an IPv6 client will be unable to use IPv6 address prefix auto detection and IPv6 default gateway auto detection. 1511 /// </summary> 1512 [JsonProperty("policy:RSandRAFilter_bool")] 1513 public bool SecPol_RSandRAFilter_bool; 1514 1515 /// <summary> 1516 /// Security policy: Filter RA Packets (IPv6). All ICMPv6 packets which the message-type is 134 (Router Advertisement) in sessions defined this policy will be filtered. As a result, a malicious users will be unable to spread illegal IPv6 prefix or default gateway advertisements on the network. 1517 /// </summary> 1518 [JsonProperty("policy:RAFilter_bool")] 1519 public bool SecPol_RAFilter_bool; 1520 1521 /// <summary> 1522 /// Security policy: Filter DHCP Packets (IPv6). All IPv6 DHCP packets in sessions defined this policy will be filtered. 1523 /// </summary> 1524 [JsonProperty("policy:DHCPv6Filter_bool")] 1525 public bool SecPol_DHCPv6Filter_bool; 1526 1527 /// <summary> 1528 /// Security policy: Disallow DHCP Server Operation (IPv6). Computers connected to sessions that have this policy setting will not be allowed to become a DHCP server and distribute IPv6 addresses to DHCP clients. 1529 /// </summary> 1530 [JsonProperty("policy:DHCPv6NoServer_bool")] 1531 public bool SecPol_DHCPv6NoServer_bool; 1532 1533 /// <summary> 1534 /// Security policy: Deny Routing Operation (IPv6). IPv6 routing will be denied for sessions that have this policy setting. Even in the case where the IP router is operating on the user client side, communication will not be possible. 1535 /// </summary> 1536 [JsonProperty("policy:NoRoutingV6_bool")] 1537 public bool SecPol_NoRoutingV6_bool; 1538 1539 /// <summary> 1540 /// Security policy: Deny IP Address Duplication (IPv6). The use of duplicating IPv6 addresses that are in use by computers of different sessions cannot be used by sessions with this policy setting. 1541 /// </summary> 1542 [JsonProperty("policy:CheckIPv6_bool")] 1543 public bool SecPol_CheckIPv6_bool; 1544 1545 /// <summary> 1546 /// Security policy: Deny Operation as TCP/IP Server (IPv6). Computers of sessions with this policy setting can't listen and accept TCP/IP connections in IPv6. 1547 /// </summary> 1548 [JsonProperty("policy:NoServerV6_bool")] 1549 public bool SecPol_NoServerV6_bool; 1550 1551 /// <summary> 1552 /// Security policy: Maximum Number of IP Addresses (IPv6). For sessions with this policy setting, this specifies the number of IPv6 addresses that can be registered for a single session. 1553 /// </summary> 1554 [JsonProperty("policy:MaxIPv6_u32")] 1555 public uint SecPol_MaxIPv6_u32; 1556 1557 /// <summary> 1558 /// Security policy: Disallow Password Save in VPN Client. For users with this policy setting, when the user is using *standard* password authentication, the user will be unable to save the password in VPN Client. The user will be required to input passwords for every time to connect a VPN. This will improve the security. If this policy is enabled, VPN Client Version 2.0 will be denied to access. 1559 /// </summary> 1560 [JsonProperty("policy:NoSavePassword_bool")] 1561 public bool SecPol_NoSavePassword_bool; 1562 1563 /// <summary> 1564 /// Security policy: VPN Client Automatic Disconnect. For users with this policy setting, a user's VPN session will be disconnected automatically after the specific period will elapse. In this case no automatic re-connection will be performed. This can prevent a lot of inactive VPN Sessions. If this policy is enabled, VPN Client Version 2.0 will be denied to access. 1565 /// </summary> 1566 [JsonProperty("policy:AutoDisconnect_u32")] 1567 public uint SecPol_AutoDisconnect_u32; 1568 1569 /// <summary> 1570 /// Security policy: Filter All IPv4 Packets. All IPv4 and ARP packets in sessions defined this policy will be filtered. 1571 /// </summary> 1572 [JsonProperty("policy:FilterIPv4_bool")] 1573 public bool SecPol_FilterIPv4_bool; 1574 1575 /// <summary> 1576 /// Security policy: Filter All IPv6 Packets. All IPv6 packets in sessions defined this policy will be filtered. 1577 /// </summary> 1578 [JsonProperty("policy:FilterIPv6_bool")] 1579 public bool SecPol_FilterIPv6_bool; 1580 1581 /// <summary> 1582 /// Security policy: Filter All Non-IP Packets. All non-IP packets in sessions defined this policy will be filtered. "Non-IP packet" mean a packet which is not IPv4, ARP nor IPv6. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. 1583 /// </summary> 1584 [JsonProperty("policy:FilterNonIP_bool")] 1585 public bool SecPol_FilterNonIP_bool; 1586 1587 /// <summary> 1588 /// Security policy: No Default-Router on IPv6 RA. In all VPN Sessions defines this policy, any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router. 1589 /// </summary> 1590 [JsonProperty("policy:NoIPv6DefaultRouterInRA_bool")] 1591 public bool SecPol_NoIPv6DefaultRouterInRA_bool; 1592 1593 /// <summary> 1594 /// Security policy: No Default-Router on IPv6 RA (physical IPv6). In all VPN Sessions defines this policy (only when the physical communication protocol between VPN Client / VPN Bridge and VPN Server is IPv6), any IPv6 RA (Router Advertisement) packet with non-zero value in the router-lifetime will set to zero-value. This is effective to avoid the horrible behavior from the IPv6 routing confusion which is caused by the VPN client's attempts to use the remote-side IPv6 router as its local IPv6 router. 1595 /// </summary> 1596 [JsonProperty("policy:NoIPv6DefaultRouterInRAWhenIPv6_bool")] 1597 public bool SecPol_NoIPv6DefaultRouterInRAWhenIPv6_bool; 1598 1599 /// <summary> 1600 /// Security policy: VLAN ID (IEEE802.1Q). You can specify the VLAN ID on the security policy. All VPN Sessions defines this policy, all Ethernet packets toward the Virtual Hub from the user will be inserted a VLAN tag (IEEE 802.1Q) with the VLAN ID. The user can also receive only packets with a VLAN tag which has the same VLAN ID. (Receiving process removes the VLAN tag automatically.) Any Ethernet packets with any other VLAN IDs or non-VLAN packets will not be received. All VPN Sessions without this policy definition can send / receive any kinds of Ethernet packets regardless of VLAN tags, and VLAN tags are not inserted or removed automatically. Any tagged-VLAN packets via the Virtual Hub will be regarded as non-IP packets. Therefore, tagged-VLAN packets are not subjects for IPv4 / IPv6 security policies, access lists nor other IPv4 / IPv6 specific deep processing. 1601 /// </summary> 1602 [JsonProperty("policy:VLanId_u32")] 1603 public uint SecPol_VLanId_u32; 1604 1605 /// <summary> 1606 /// Security policy: Whether version 3.0 (must be true) 1607 /// </summary> 1608 [JsonProperty("policy:Ver3_bool")] 1609 public bool SecPol_Ver3_bool = true; 1610 // ---- End of Security policy --- 1611 } 1612 1613 /// <summary> 1614 /// Delete the access list 1615 /// </summary> 1616 public class VpnRpcDeleteAccess 1617 { 1618 /// <summary> 1619 /// The Virtual Hub name 1620 /// </summary> 1621 public string HubName_str; 1622 1623 /// <summary> 1624 /// ID 1625 /// </summary> 1626 public uint Id_u32; 1627 } 1628 1629 /// <summary> 1630 /// Delete the CA of HUB 1631 /// </summary> 1632 public class VpnRpcHubDeleteCA 1633 { 1634 /// <summary> 1635 /// The Virtual Hub name 1636 /// </summary> 1637 public string HubName_str; 1638 1639 /// <summary> 1640 /// Certificate key id to be deleted 1641 /// </summary> 1642 public uint Key_u32; 1643 } 1644 1645 /// <summary> 1646 /// Deleting a user or group 1647 /// </summary> 1648 public class VpnRpcDeleteUser 1649 { 1650 /// <summary> 1651 /// The Virtual Hub name 1652 /// </summary> 1653 public string HubName_str; 1654 1655 /// <summary> 1656 /// User or group name 1657 /// </summary> 1658 public string Name_str; 1659 } 1660 1661 /// <summary> 1662 /// Delete the HUB 1663 /// </summary> 1664 public class VpnRpcDeleteHub 1665 { 1666 /// <summary> 1667 /// The Virtual Hub name 1668 /// </summary> 1669 public string HubName_str; 1670 } 1671 1672 /// <summary> 1673 /// Delete the table 1674 /// </summary> 1675 public class VpnRpcDeleteTable 1676 { 1677 /// <summary> 1678 /// The Virtual Hub name 1679 /// </summary> 1680 public string HubName_str; 1681 1682 /// <summary> 1683 /// Key ID 1684 /// </summary> 1685 public uint Key_u32; 1686 } 1687 1688 /// <summary> 1689 /// Specify the Link 1690 /// </summary> 1691 public class VpnRpcLink 1692 { 1693 /// <summary> 1694 /// The Virtual Hub name 1695 /// </summary> 1696 public string HubName_str; 1697 1698 /// <summary> 1699 /// The name of the cascade connection 1700 /// </summary> 1701 public string AccountName_utf; 1702 } 1703 1704 /// <summary> 1705 /// Disconnect the session 1706 /// </summary> 1707 public class VpnRpcDeleteSession 1708 { 1709 /// <summary> 1710 /// The Virtual Hub name 1711 /// </summary> 1712 public string HubName_str; 1713 1714 /// <summary> 1715 /// Session name 1716 /// </summary> 1717 public string Name_str; 1718 } 1719 1720 /// <summary> 1721 /// Specify the HUB 1722 /// </summary> 1723 public class VpnRpcHub 1724 { 1725 /// <summary> 1726 /// The Virtual Hub name 1727 /// </summary> 1728 public string HubName_str; 1729 } 1730 1731 /// <summary> 1732 /// Disconnect a connection 1733 /// </summary> 1734 public class VpnRpcDisconnectConnection 1735 { 1736 /// <summary> 1737 /// Connection name 1738 /// </summary> 1739 public string Name_str; 1740 } 1741 1742 /// <summary> 1743 /// Enumeration of the access list 1744 /// </summary> 1745 public class VpnRpcEnumAccessList 1746 { 1747 /// <summary> 1748 /// The Virtual Hub name 1749 /// </summary> 1750 public string HubName_str; 1751 1752 /// <summary> 1753 /// Access list 1754 /// </summary> 1755 public VpnAccess[] AccessList; 1756 } 1757 1758 /// <summary> 1759 /// CA enumeration items of HUB 1760 /// </summary> 1761 public class VpnRpcHubEnumCAItem 1762 { 1763 /// <summary> 1764 /// The key id of the item 1765 /// </summary> 1766 public uint Key_u32; 1767 1768 /// <summary> 1769 /// Subject 1770 /// </summary> 1771 public string SubjectName_utf; 1772 1773 /// <summary> 1774 /// Issuer 1775 /// </summary> 1776 public string IssuerName_utf; 1777 1778 /// <summary> 1779 /// Expiration date 1780 /// </summary> 1781 public DateTime Expires_dt; 1782 } 1783 1784 /// <summary> 1785 /// CA enumeration of HUB 1786 /// </summary> 1787 public class VpnRpcHubEnumCA 1788 { 1789 /// <summary> 1790 /// The Virtual Hub name 1791 /// </summary> 1792 public string HubName_str; 1793 1794 /// <summary> 1795 /// The list of CA 1796 /// </summary> 1797 public VpnRpcHubEnumCAItem[] CAList; 1798 } 1799 1800 /// <summary> 1801 /// Type of connection 1802 /// </summary> 1803 public enum VpnRpcConnectionType 1804 { 1805 /// <summary> 1806 /// VPN Client 1807 /// </summary> 1808 Client = 0, 1809 1810 /// <summary> 1811 /// During initialization 1812 /// </summary> 1813 Init = 1, 1814 1815 /// <summary> 1816 /// Login connection 1817 /// </summary> 1818 Login = 2, 1819 1820 /// <summary> 1821 /// Additional connection 1822 /// </summary> 1823 Additional = 3, 1824 1825 /// <summary> 1826 /// RPC for server farm 1827 /// </summary> 1828 FarmRpc = 4, 1829 1830 /// <summary> 1831 /// RPC for Management 1832 /// </summary> 1833 AdminRpc = 5, 1834 1835 /// <summary> 1836 /// HUB enumeration 1837 /// </summary> 1838 EnumHub = 6, 1839 1840 /// <summary> 1841 /// Password change 1842 /// </summary> 1843 Password = 7, 1844 1845 /// <summary> 1846 /// SSTP 1847 /// </summary> 1848 SSTP = 8, 1849 1850 /// <summary> 1851 /// OpenVPN 1852 /// </summary> 1853 OpenVPN = 9, 1854 } 1855 1856 /// <summary> 1857 /// Connection enumeration items 1858 /// </summary> 1859 public class VpnRpcEnumConnectionItem 1860 { 1861 /// <summary> 1862 /// Connection name 1863 /// </summary> 1864 public string Name_str; 1865 1866 /// <summary> 1867 /// Host name 1868 /// </summary> 1869 public string Hostname_str; 1870 1871 /// <summary> 1872 /// IP address 1873 /// </summary> 1874 public string Ip_ip; 1875 1876 /// <summary> 1877 /// Port number 1878 /// </summary> 1879 public uint Port_u32; 1880 1881 /// <summary> 1882 /// Connected time 1883 /// </summary> 1884 public DateTime ConnectedTime_dt; 1885 1886 /// <summary> 1887 /// Connection type 1888 /// </summary> 1889 public VpnRpcConnectionType Type_u32; 1890 } 1891 1892 /// <summary> 1893 /// Connection enumeration 1894 /// </summary> 1895 public class VpnRpcEnumConnection 1896 { 1897 /// <summary> 1898 /// Number of connections 1899 /// </summary> 1900 public uint NumConnection_u32; 1901 1902 /// <summary> 1903 /// Connection list 1904 /// </summary> 1905 public VpnRpcEnumConnectionItem[] ConnectionList; 1906 } 1907 1908 /// <summary> 1909 /// Enum CRL Item 1910 /// </summary> 1911 public class VpnRpcEnumCrlItem 1912 { 1913 /// <summary> 1914 /// Key ID 1915 /// </summary> 1916 public uint Key_u32; 1917 1918 /// <summary> 1919 /// The contents of the CRL item 1920 /// </summary> 1921 public string CrlInfo_utf; 1922 } 1923 1924 /// <summary> 1925 /// Enum CRL 1926 ///</summary> 1927 public class VpnRpcEnumCrl 1928 { 1929 /// <summary> 1930 /// The Virtual Hub name 1931 /// </summary> 1932 public string HubName_str; 1933 1934 /// <summary> 1935 /// CRL list 1936 /// </summary> 1937 public VpnRpcEnumCrlItem[] CRLList; 1938 } 1939 1940 /// <summary> 1941 /// RPC_ENUM_DHCP_ITEM 1942 /// </summary> 1943 public class VpnRpcEnumDhcpItem 1944 { 1945 /// <summary> 1946 /// ID 1947 /// </summary> 1948 public uint Id_u32; 1949 1950 /// <summary> 1951 /// Lease time 1952 /// </summary> 1953 public DateTime LeasedTime_dt; 1954 1955 /// <summary> 1956 /// Expiration date 1957 /// </summary> 1958 public DateTime ExpireTime_dt; 1959 1960 /// <summary> 1961 /// MAC address 1962 /// </summary> 1963 public byte[] MacAddress_bin; 1964 1965 /// <summary> 1966 /// IP address 1967 /// </summary> 1968 public string IpAddress_ip; 1969 1970 /// <summary> 1971 /// Subnet mask 1972 /// </summary> 1973 public uint Mask_u32; 1974 1975 /// <summary> 1976 /// Host name 1977 /// </summary> 1978 public string Hostname_str; 1979 } 1980 1981 /// <summary> 1982 /// RPC_ENUM_DHCP 1983 /// </summary> 1984 public class VpnRpcEnumDhcp 1985 { 1986 /// <summary> 1987 /// Virtual Hub Name 1988 /// </summary> 1989 public string HubName_str; 1990 1991 /// <summary> 1992 /// DHCP Item 1993 /// </summary> 1994 public VpnRpcEnumDhcpItem[] DhcpTable; 1995 } 1996 1997 /// <summary> 1998 /// EtherIP setting list 1999 /// </summary> 2000 public class VpnRpcEnumEtherIpId 2001 { 2002 /// <summary> 2003 /// Setting list 2004 /// </summary> 2005 public VpnEtherIpId[] Settings; 2006 } 2007 2008 /// <summary> 2009 /// Ethernet Network Adapters list item 2010 /// </summary> 2011 public class VpnRpcEnumEthItem 2012 { 2013 /// <summary> 2014 /// Device name 2015 /// </summary> 2016 public string DeviceName_str; 2017 2018 /// <summary> 2019 /// Network connection name (description) 2020 /// </summary> 2021 public string NetworkConnectionName_utf; 2022 } 2023 2024 /// <summary> 2025 /// Ethernet Network Adapters list 2026 /// </summary> 2027 public class VpnRpcEnumEth 2028 { 2029 /// <summary> 2030 /// Ethernet Network Adapters list 2031 /// </summary> 2032 public VpnRpcEnumEthItem[] EthList; 2033 } 2034 2035 /// <summary> 2036 /// Server farm members enumeration items 2037 /// </summary> 2038 public class VpnRpcEnumFarmItem 2039 { 2040 /// <summary> 2041 /// ID 2042 /// </summary> 2043 public uint Id_u32; 2044 2045 /// <summary> 2046 /// Controller 2047 /// </summary> 2048 public bool Controller_bool; 2049 2050 /// <summary> 2051 /// Connection time 2052 /// </summary> 2053 public DateTime ConnectedTime_dt; 2054 2055 /// <summary> 2056 /// IP address 2057 /// </summary> 2058 public string Ip_ip; 2059 2060 /// <summary> 2061 /// Host name 2062 /// </summary> 2063 public string Hostname_str; 2064 2065 /// <summary> 2066 /// Point 2067 /// </summary> 2068 public uint Point_u32; 2069 2070 /// <summary> 2071 /// Number of sessions 2072 /// </summary> 2073 public uint NumSessions_u32; 2074 2075 /// <summary> 2076 /// Number of TCP connections 2077 /// </summary> 2078 public uint NumTcpConnections_u32; 2079 2080 /// <summary> 2081 /// Number of HUBs 2082 /// </summary> 2083 public uint NumHubs_u32; 2084 2085 /// <summary> 2086 /// Number of assigned client licenses 2087 /// </summary> 2088 public uint AssignedClientLicense_u32; 2089 2090 /// <summary> 2091 /// Number of assigned bridge licenses 2092 /// </summary> 2093 public uint AssignedBridgeLicense_u32; 2094 } 2095 2096 /// <summary> 2097 /// Server farm member enumeration 2098 /// </summary> 2099 public class VpnRpcEnumFarm 2100 { 2101 /// <summary> 2102 /// Number of Cluster Members 2103 /// </summary> 2104 public uint NumFarm_u32; 2105 2106 /// <summary> 2107 /// Cluster Members list 2108 /// </summary> 2109 public VpnRpcEnumFarmItem[] FarmMemberList; 2110 } 2111 2112 /// <summary> 2113 /// Enumeration items in the group 2114 /// </summary> 2115 public class VpnRpcEnumGroupItem 2116 { 2117 /// <summary> 2118 /// User name 2119 /// </summary> 2120 public string Name_str; 2121 2122 /// <summary> 2123 /// Real name 2124 /// </summary> 2125 public string Realname_utf; 2126 2127 /// <summary> 2128 /// Note 2129 /// </summary> 2130 public string Note_utf; 2131 2132 /// <summary> 2133 /// Number of users 2134 /// </summary> 2135 public uint NumUsers_u32; 2136 2137 /// <summary> 2138 /// Access denied 2139 /// </summary> 2140 public bool DenyAccess_bool; 2141 } 2142 2143 /// <summary> 2144 /// Group enumeration 2145 /// </summary> 2146 public class VpnRpcEnumGroup 2147 { 2148 /// <summary> 2149 /// The Virtual Hub name 2150 /// </summary> 2151 public string HubName_str; 2152 2153 /// <summary> 2154 /// Group list 2155 /// </summary> 2156 public VpnRpcEnumGroupItem[] GroupList; 2157 } 2158 2159 /// <summary> 2160 /// Enumeration items of HUB 2161 /// </summary> 2162 public class VpnRpcEnumHubItem 2163 { 2164 /// <summary> 2165 /// The name of the Virtual Hub 2166 /// </summary> 2167 public string HubName_str; 2168 2169 /// <summary> 2170 /// Online state 2171 /// </summary> 2172 public bool Online_bool; 2173 2174 /// <summary> 2175 /// Type of HUB (Valid only for Clustered VPN Servers) 2176 /// </summary> 2177 public VpnRpcHubType HubType_u32; 2178 2179 /// <summary> 2180 /// Number of users 2181 /// </summary> 2182 public uint NumUsers_u32; 2183 2184 /// <summary> 2185 /// Number of registered groups 2186 /// </summary> 2187 public uint NumGroups_u32; 2188 2189 /// <summary> 2190 /// Number of registered sessions 2191 /// </summary> 2192 public uint NumSessions_u32; 2193 2194 /// <summary> 2195 /// Number of current MAC table entries 2196 /// </summary> 2197 public uint NumMacTables_u32; 2198 2199 /// <summary> 2200 /// Number of current IP table entries 2201 /// </summary> 2202 public uint NumIpTables_u32; 2203 2204 /// <summary> 2205 /// Last communication date and time 2206 /// </summary> 2207 public DateTime LastCommTime_dt; 2208 2209 /// <summary> 2210 /// Last login date and time 2211 /// </summary> 2212 public DateTime LastLoginTime_dt; 2213 2214 /// <summary> 2215 /// Creation date and time 2216 /// </summary> 2217 public DateTime CreatedTime_dt; 2218 2219 /// <summary> 2220 /// Number of accumulated logins 2221 /// </summary> 2222 public uint NumLogin_u32; 2223 2224 /// <summary> 2225 /// Whether the traffic information is provided 2226 /// </summary> 2227 public bool IsTrafficFilled_bool; 2228 2229 /// <summary> 2230 /// Number of broadcast packets (Recv) 2231 /// </summary> 2232 [JsonProperty("Ex.Recv.BroadcastBytes_u64")] 2233 public ulong Recv_BroadcastBytes_u64; 2234 2235 /// <summary> 2236 /// Broadcast bytes (Recv) 2237 /// </summary> 2238 [JsonProperty("Ex.Recv.BroadcastCount_u64")] 2239 public ulong Recv_BroadcastCount_u64; 2240 2241 /// <summary> 2242 /// Unicast count (Recv) 2243 /// </summary> 2244 [JsonProperty("Ex.Recv.UnicastBytes_u64")] 2245 public ulong Recv_UnicastBytes_u64; 2246 2247 /// <summary> 2248 /// Unicast bytes (Recv) 2249 /// </summary> 2250 [JsonProperty("Ex.Recv.UnicastCount_u64")] 2251 public ulong Recv_UnicastCount_u64; 2252 2253 /// <summary> 2254 /// Number of broadcast packets (Send) 2255 /// </summary> 2256 [JsonProperty("Ex.Send.BroadcastBytes_u64")] 2257 public ulong Send_BroadcastBytes_u64; 2258 2259 /// <summary> 2260 /// Broadcast bytes (Send) 2261 /// </summary> 2262 [JsonProperty("Ex.Send.BroadcastCount_u64")] 2263 public ulong Send_BroadcastCount_u64; 2264 2265 /// <summary> 2266 /// Unicast bytes (Send) 2267 /// </summary> 2268 [JsonProperty("Ex.Send.UnicastBytes_u64")] 2269 public ulong Send_UnicastBytes_u64; 2270 2271 /// <summary> 2272 /// Unicast bytes (Send) 2273 /// </summary> 2274 [JsonProperty("Ex.Send.UnicastCount_u64")] 2275 public ulong Send_UnicastCount_u64; 2276 } 2277 2278 /// <summary> 2279 /// Enumeration of HUB 2280 /// </summary> 2281 public class VpnRpcEnumHub 2282 { 2283 /// <summary> 2284 /// Number of Virtual Hubs 2285 /// </summary> 2286 public uint NumHub_u32; 2287 2288 /// <summary> 2289 /// Virtual Hubs 2290 /// </summary> 2291 public VpnRpcEnumHubItem[] HubList; 2292 } 2293 2294 /// <summary> 2295 /// Enumeration items of IP table 2296 /// </summary> 2297 public class VpnRpcEnumIpTableItem 2298 { 2299 /// <summary> 2300 /// Key ID 2301 /// </summary> 2302 public uint Key_u32; 2303 2304 /// <summary> 2305 /// Session name 2306 /// </summary> 2307 public string SessionName_str; 2308 2309 /// <summary> 2310 /// IP address 2311 /// </summary> 2312 public string IpAddress_ip; 2313 2314 /// <summary> 2315 /// Assigned by the DHCP 2316 /// </summary> 2317 public bool DhcpAllocated_bool; 2318 2319 /// <summary> 2320 /// Creation date and time 2321 /// </summary> 2322 public DateTime CreatedTime_dt; 2323 2324 /// <summary> 2325 /// Updating date 2326 /// </summary> 2327 public DateTime UpdatedTime_dt; 2328 2329 /// <summary> 2330 /// Remote items 2331 /// </summary> 2332 public bool RemoteItem_bool; 2333 2334 /// <summary> 2335 /// Remote host name 2336 /// </summary> 2337 public string RemoteHostname_str; 2338 } 2339 2340 /// <summary> 2341 /// Enumeration of IP table 2342 /// </summary> 2343 public class VpnRpcEnumIpTable 2344 { 2345 /// <summary> 2346 /// The Virtual Hub name 2347 /// </summary> 2348 public string HubName_str; 2349 2350 /// <summary> 2351 /// MAC table 2352 /// </summary> 2353 public VpnRpcEnumIpTableItem[] IpTable; 2354 } 2355 2356 /// <summary> 2357 /// Layer-3 interface enumeration 2358 /// </summary> 2359 public class VpnRpcEnumL3If 2360 { 2361 /// <summary> 2362 /// Layer-3 switch name 2363 /// </summary> 2364 public string Name_str; 2365 2366 /// <summary> 2367 /// Layer-3 interface list 2368 /// </summary> 2369 public VpnRpcL3If[] L3IFList; 2370 } 2371 2372 /// <summary> 2373 /// Layer-3 switch enumeration item 2374 /// </summary> 2375 public class VpnRpcEnumL3SwItem 2376 { 2377 /// <summary> 2378 /// Name of the layer-3 switch 2379 /// </summary> 2380 public string Name_str; 2381 2382 /// <summary> 2383 /// Number of layer-3 switch virtual interfaces 2384 /// </summary> 2385 public uint NumInterfaces_u32; 2386 2387 /// <summary> 2388 /// Number of routing tables 2389 /// </summary> 2390 public uint NumTables_u32; 2391 2392 /// <summary> 2393 /// Activated flag 2394 /// </summary> 2395 public bool Active_bool; 2396 2397 /// <summary> 2398 /// Online flag 2399 /// </summary> 2400 public bool Online_bool; 2401 } 2402 2403 /// <summary> 2404 /// Layer-3 switch enumeration 2405 /// </summary> 2406 public class VpnRpcEnumL3Sw 2407 { 2408 /// <summary> 2409 /// Layer-3 switch list 2410 /// </summary> 2411 public VpnRpcEnumL3SwItem[] L3SWList; 2412 } 2413 2414 /// <summary> 2415 /// Routing table enumeration 2416 /// </summary> 2417 public class VpnRpcEnumL3Table 2418 { 2419 /// <summary> 2420 /// L3 switch name 2421 /// </summary> 2422 public string Name_str; 2423 2424 /// <summary> 2425 /// Routing table item list 2426 /// </summary> 2427 public VpnRpcL3Table[] L3Table; 2428 } 2429 2430 /// <summary> 2431 /// Cascade Connection Enumeration 2432 /// </summary> 2433 public class VpnRpcEnumLinkItem 2434 { 2435 /// <summary> 2436 /// The name of cascade connection 2437 /// </summary> 2438 public string AccountName_utf; 2439 2440 /// <summary> 2441 /// Online flag 2442 /// </summary> 2443 public bool Online_bool; 2444 2445 /// <summary> 2446 /// The flag indicates whether the cascade connection is established 2447 /// </summary> 2448 public bool Connected_bool; 2449 2450 /// <summary> 2451 /// The error last occurred if the cascade connection is in the fail state 2452 /// </summary> 2453 public uint LastError_u32; 2454 2455 /// <summary> 2456 /// Connection completion time 2457 /// </summary> 2458 public DateTime ConnectedTime_dt; 2459 2460 /// <summary> 2461 /// Host name of the destination VPN server 2462 /// </summary> 2463 public string Hostname_str; 2464 2465 /// <summary> 2466 /// The Virtual Hub name 2467 /// </summary> 2468 public string TargetHubName_str; 2469 } 2470 2471 /// <summary> 2472 /// Enumeration of the link 2473 /// </summary> 2474 public class VpnRpcEnumLink 2475 { 2476 /// <summary> 2477 /// The Virtual Hub name 2478 /// </summary> 2479 public string HubName_str; 2480 2481 /// <summary> 2482 /// Number of cascade connections 2483 /// </summary> 2484 public uint NumLink_u32; 2485 2486 /// <summary> 2487 /// The list of cascade connections 2488 /// </summary> 2489 public VpnRpcEnumLinkItem[] LinkList; 2490 } 2491 2492 /// <summary> 2493 /// List of listeners item 2494 /// </summary> 2495 public class VpnRpcListenerListItem 2496 { 2497 /// <summary> 2498 /// TCP port number (range: 1 - 65535) 2499 /// </summary> 2500 public uint Ports_u32; 2501 2502 /// <summary> 2503 /// Active state 2504 /// </summary> 2505 public bool Enables_bool; 2506 2507 /// <summary> 2508 /// The flag to indicate if the error occurred on the listener port 2509 /// </summary> 2510 public bool Errors_bool; 2511 } 2512 2513 /// <summary> 2514 /// List of listeners 2515 /// </summary> 2516 public class VpnRpcListenerList 2517 { 2518 /// <summary> 2519 /// List of listener items 2520 /// </summary> 2521 public VpnRpcListenerListItem[] ListenerList; 2522 } 2523 2524 /// <summary> 2525 /// Local Bridge enumeration 2526 /// </summary> 2527 public class VpnRpcEnumLocalBridge 2528 { 2529 /// <summary> 2530 /// Local Bridge list 2531 /// </summary> 2532 public VpnRpcLocalBridge[] LocalBridgeList; 2533 } 2534 2535 /// <summary> 2536 /// Log file enumeration 2537 /// </summary> 2538 public class VpnRpcEnumLogFileItem 2539 { 2540 /// <summary> 2541 /// Server name 2542 /// </summary> 2543 public string ServerName_str; 2544 2545 /// <summary> 2546 /// File path 2547 /// </summary> 2548 public string FilePath_str; 2549 2550 /// <summary> 2551 /// File size 2552 /// </summary> 2553 public uint FileSize_u32; 2554 2555 /// <summary> 2556 /// Last write date 2557 /// </summary> 2558 public DateTime UpdatedTime_dt; 2559 } 2560 2561 /// <summary> 2562 /// Log file enumeration 2563 ///</summary> 2564 public class VpnRpcEnumLogFile 2565 { 2566 /// <summary> 2567 /// Log file list 2568 /// </summary> 2569 public VpnRpcEnumLogFileItem[] LogFiles; 2570 } 2571 2572 /// <summary> 2573 /// Enumeration items of the MAC table 2574 /// </summary> 2575 public class VpnRpcEnumMacTableItem 2576 { 2577 /// <summary> 2578 /// Key ID 2579 /// </summary> 2580 public uint Key_u32; 2581 2582 /// <summary> 2583 /// Session name 2584 /// </summary> 2585 public string SessionName_str; 2586 2587 /// <summary> 2588 /// MAC address 2589 /// </summary> 2590 public byte[] MacAddress_bin; 2591 2592 /// <summary> 2593 /// Creation date and time 2594 /// </summary> 2595 public DateTime CreatedTime_dt; 2596 2597 /// <summary> 2598 /// Updating date 2599 /// </summary> 2600 public DateTime UpdatedTime_dt; 2601 2602 /// <summary> 2603 /// Remote items 2604 /// </summary> 2605 public bool RemoteItem_bool; 2606 2607 /// <summary> 2608 /// Remote host name 2609 /// </summary> 2610 public string RemoteHostname_str; 2611 2612 /// <summary> 2613 /// VLAN ID 2614 /// </summary> 2615 public uint VlanId_u32; 2616 } 2617 2618 /// <summary> 2619 /// Enumeration of the MAC table 2620 /// </summary> 2621 public class VpnRpcEnumMacTable 2622 { 2623 /// <summary> 2624 /// The Virtual Hub name 2625 /// </summary> 2626 public string HubName_str; 2627 2628 /// <summary> 2629 /// MAC table 2630 /// </summary> 2631 public VpnRpcEnumMacTableItem[] MacTable; 2632 } 2633 2634 /// <summary> 2635 /// NAT Entry Protocol Number 2636 /// </summary> 2637 public enum VpnRpcNatProtocol 2638 { 2639 /// <summary> 2640 /// TCP 2641 /// </summary> 2642 TCP = 0, 2643 2644 /// <summary> 2645 /// UDP 2646 /// </summary> 2647 UDP = 1, 2648 2649 /// <summary> 2650 /// DNS 2651 /// </summary> 2652 DNS = 2, 2653 2654 /// <summary> 2655 /// ICMP 2656 /// </summary> 2657 ICMP = 3, 2658 } 2659 2660 /// <summary> 2661 /// State of NAT session (TCP) 2662 /// </summary> 2663 public enum VpnRpcNatTcpState 2664 { 2665 /// <summary> 2666 /// Connecting 2667 /// </summary> 2668 Connecting = 0, 2669 2670 /// <summary> 2671 /// Send the RST (Connection failure or disconnected) 2672 /// </summary> 2673 SendReset = 1, 2674 2675 /// <summary> 2676 /// Connection complete 2677 /// </summary> 2678 Connected = 2, 2679 2680 /// <summary> 2681 /// Connection established 2682 /// </summary> 2683 Established = 3, 2684 2685 /// <summary> 2686 /// Wait for socket disconnection 2687 /// </summary> 2688 WaitDisconnect = 4, 2689 } 2690 2691 /// <summary> 2692 /// VpnRpcEnumNat List Item 2693 /// </summary> 2694 public class VpnRpcEnumNatItem 2695 { 2696 /// <summary> 2697 /// ID 2698 /// </summary> 2699 public uint Id_u32; 2700 2701 /// <summary> 2702 /// Protocol 2703 /// </summary> 2704 public VpnRpcNatProtocol Protocol_u32; 2705 2706 /// <summary> 2707 /// Source IP address 2708 /// </summary> 2709 public string SrcIp_ip; 2710 2711 /// <summary> 2712 /// Source host name 2713 /// </summary> 2714 public string SrcHost_str; 2715 2716 /// <summary> 2717 /// Source port number 2718 /// </summary> 2719 public uint SrcPort_u32; 2720 2721 /// <summary> 2722 /// Destination IP address 2723 /// </summary> 2724 public string DestIp_ip; 2725 2726 /// <summary> 2727 /// Destination host name 2728 /// </summary> 2729 public string DestHost_str; 2730 2731 /// <summary> 2732 /// Destination port number 2733 /// </summary> 2734 public uint DestPort_u32; 2735 2736 /// <summary> 2737 /// Connection time 2738 /// </summary> 2739 public DateTime CreatedTime_dt; 2740 2741 /// <summary> 2742 /// Last communication time 2743 /// </summary> 2744 public DateTime LastCommTime_dt; 2745 2746 /// <summary> 2747 /// Transmission size 2748 /// </summary> 2749 public ulong SendSize_u64; 2750 2751 /// <summary> 2752 /// Receive size 2753 /// </summary> 2754 public ulong RecvSize_u64; 2755 2756 /// <summary> 2757 /// TCP state 2758 /// </summary> 2759 public VpnRpcNatTcpState TcpStatus_u32; 2760 } 2761 2762 /// <summary> 2763 /// RPC_ENUM_NAT 2764 /// </summary> 2765 public class VpnRpcEnumNat 2766 { 2767 /// <summary> 2768 /// Virtual Hub Name 2769 /// </summary> 2770 public string HubName_str; 2771 2772 /// <summary> 2773 /// NAT item 2774 /// </summary> 2775 public VpnRpcEnumNatItem[] NatTable; 2776 } 2777 2778 /// <summary> 2779 /// Enumeration item of VPN session 2780 /// </summary> 2781 public class VpnRpcEnumSessionItem 2782 { 2783 /// <summary> 2784 /// Session name 2785 /// </summary> 2786 public string Name_str; 2787 2788 /// <summary> 2789 /// Remote session 2790 /// </summary> 2791 public bool RemoteSession_bool; 2792 2793 /// <summary> 2794 /// Remote server name 2795 /// </summary> 2796 public string RemoteHostname_str; 2797 2798 /// <summary> 2799 /// User name 2800 /// </summary> 2801 public string Username_str; 2802 2803 /// <summary> 2804 /// IP address 2805 /// </summary> 2806 public string ClientIP_ip; 2807 2808 /// <summary> 2809 /// Host name 2810 /// </summary> 2811 public string Hostname_str; 2812 2813 /// <summary> 2814 /// Maximum number of underlying TCP connections 2815 /// </summary> 2816 public uint MaxNumTcp_u32; 2817 2818 /// <summary> 2819 /// Number of current underlying TCP connections 2820 /// </summary> 2821 public uint CurrentNumTcp_u32; 2822 2823 /// <summary> 2824 /// Packet size transmitted 2825 /// </summary> 2826 public ulong PacketSize_u64; 2827 2828 /// <summary> 2829 /// Number of packets transmitted 2830 /// </summary> 2831 public ulong PacketNum_u64; 2832 2833 /// <summary> 2834 /// Is a Cascade VPN session 2835 /// </summary> 2836 public bool LinkMode_bool; 2837 2838 /// <summary> 2839 /// Is a SecureNAT VPN session 2840 /// </summary> 2841 public bool SecureNATMode_bool; 2842 2843 /// <summary> 2844 /// Is the VPN session for Local Bridge 2845 /// </summary> 2846 public bool BridgeMode_bool; 2847 2848 /// <summary> 2849 /// Is a Layer-3 Switch VPN session 2850 /// </summary> 2851 public bool Layer3Mode_bool; 2852 2853 /// <summary> 2854 /// Is in Bridge Mode 2855 /// </summary> 2856 public bool Client_BridgeMode_bool; 2857 2858 /// <summary> 2859 /// Is in Monitor Mode 2860 /// </summary> 2861 public bool Client_MonitorMode_bool; 2862 2863 /// <summary> 2864 /// VLAN ID 2865 /// </summary> 2866 public uint VLanId_u32; 2867 2868 /// <summary> 2869 /// Unique ID of the VPN Session 2870 /// </summary> 2871 public byte[] UniqueId_bin; 2872 2873 /// <summary> 2874 /// Creation date and time 2875 /// </summary> 2876 public DateTime CreatedTime_dt; 2877 2878 /// <summary> 2879 /// Last communication date and time 2880 /// </summary> 2881 public DateTime LastCommTime_dt; 2882 } 2883 2884 /// <summary> 2885 /// Enumerate VPN sessions 2886 /// </summary> 2887 public class VpnRpcEnumSession 2888 { 2889 /// <summary> 2890 /// The Virtual Hub name 2891 /// </summary> 2892 public string HubName_str; 2893 2894 /// <summary> 2895 /// VPN sessions list 2896 /// </summary> 2897 public VpnRpcEnumSessionItem[] SessionList; 2898 } 2899 2900 /// <summary> 2901 /// Enumeration item of user 2902 /// </summary> 2903 public class VpnRpcEnumUserItem 2904 { 2905 /// <summary> 2906 /// User name 2907 /// </summary> 2908 public string Name_str; 2909 2910 /// <summary> 2911 /// Group name 2912 /// </summary> 2913 public string GroupName_str; 2914 2915 /// <summary> 2916 /// Real name 2917 /// </summary> 2918 public string Realname_utf; 2919 2920 /// <summary> 2921 /// Note 2922 /// </summary> 2923 public string Note_utf; 2924 2925 /// <summary> 2926 /// Authentication method 2927 /// </summary> 2928 public VpnRpcUserAuthType AuthType_u32; 2929 2930 /// <summary> 2931 /// Number of logins 2932 /// </summary> 2933 public uint NumLogin_u32; 2934 2935 /// <summary> 2936 /// Last login date and time 2937 /// </summary> 2938 public DateTime LastLoginTime_dt; 2939 2940 /// <summary> 2941 /// Access denied 2942 /// </summary> 2943 public bool DenyAccess_bool; 2944 2945 /// <summary> 2946 /// Flag of whether the traffic variable is set 2947 /// </summary> 2948 public bool IsTrafficFilled_bool; 2949 2950 /// <summary> 2951 /// Flag of whether expiration date variable is set 2952 /// </summary> 2953 public bool IsExpiresFilled_bool; 2954 2955 /// <summary> 2956 /// Expiration date 2957 /// </summary> 2958 public DateTime Expires_dt; 2959 2960 /// <summary> 2961 /// Number of broadcast packets (Recv) 2962 /// </summary> 2963 [JsonProperty("Ex.Recv.BroadcastBytes_u64")] 2964 public ulong Recv_BroadcastBytes_u64; 2965 2966 /// <summary> 2967 /// Broadcast bytes (Recv) 2968 /// </summary> 2969 [JsonProperty("Ex.Recv.BroadcastCount_u64")] 2970 public ulong Recv_BroadcastCount_u64; 2971 2972 /// <summary> 2973 /// Unicast count (Recv) 2974 /// </summary> 2975 [JsonProperty("Ex.Recv.UnicastBytes_u64")] 2976 public ulong Recv_UnicastBytes_u64; 2977 2978 /// <summary> 2979 /// Unicast bytes (Recv) 2980 /// </summary> 2981 [JsonProperty("Ex.Recv.UnicastCount_u64")] 2982 public ulong Recv_UnicastCount_u64; 2983 2984 /// <summary> 2985 /// Number of broadcast packets (Send) 2986 /// </summary> 2987 [JsonProperty("Ex.Send.BroadcastBytes_u64")] 2988 public ulong Send_BroadcastBytes_u64; 2989 2990 /// <summary> 2991 /// Broadcast bytes (Send) 2992 /// </summary> 2993 [JsonProperty("Ex.Send.BroadcastCount_u64")] 2994 public ulong Send_BroadcastCount_u64; 2995 2996 /// <summary> 2997 /// Unicast bytes (Send) 2998 /// </summary> 2999 [JsonProperty("Ex.Send.UnicastBytes_u64")] 3000 public ulong Send_UnicastBytes_u64; 3001 3002 /// <summary> 3003 /// Unicast bytes (Send) 3004 /// </summary> 3005 [JsonProperty("Ex.Send.UnicastCount_u64")] 3006 public ulong Send_UnicastCount_u64; 3007 } 3008 3009 /// <summary> 3010 /// Enumeration of user 3011 /// </summary> 3012 public class VpnRpcEnumUser 3013 { 3014 /// <summary> 3015 /// The Virtual Hub name 3016 /// </summary> 3017 public string HubName_str; 3018 3019 /// <summary> 3020 /// User list 3021 /// </summary> 3022 public VpnRpcEnumUserItem[] UserList; 3023 } 3024 3025 /// <summary> 3026 /// Source IP Address Limit List Item 3027 /// </summary> 3028 public class VpnAc 3029 { 3030 /// <summary> 3031 /// ID 3032 /// </summary> 3033 public uint Id_u32; 3034 3035 /// <summary> 3036 /// Priority 3037 /// </summary> 3038 public uint Priority_u32; 3039 3040 /// <summary> 3041 /// Deny access 3042 /// </summary> 3043 public bool Deny_bool; 3044 3045 /// <summary> 3046 /// Set true if you want to specify the SubnetMask_ip item. 3047 /// </summary> 3048 public bool Masked_bool; 3049 3050 /// <summary> 3051 /// IP address 3052 /// </summary> 3053 public string IpAddress_ip; 3054 3055 /// <summary> 3056 /// Subnet mask, valid only if Masked_bool == true 3057 /// </summary> 3058 public string SubnetMask_ip; 3059 } 3060 3061 /// <summary> 3062 /// Source IP Address Limit List 3063 /// </summary> 3064 public class VpnRpcAcList 3065 { 3066 /// <summary> 3067 /// The Virtual Hub name 3068 /// </summary> 3069 public string HubName_str; 3070 3071 /// <summary> 3072 /// Source IP Address Limit List 3073 /// </summary> 3074 public VpnAc[] ACList; 3075 } 3076 3077 /// <summary> 3078 /// Message 3079 /// </summary> 3080 public class VpnRpcMsg 3081 { 3082 /// <summary> 3083 /// The Virtual Hub name 3084 /// </summary> 3085 public string HubName_str; 3086 3087 /// <summary> 3088 /// Message (Unicode strings acceptable) 3089 /// </summary> 3090 public byte[] Msg_bin; 3091 } 3092 3093 /// <summary> 3094 /// Get / Set the Azure state 3095 /// </summary> 3096 public class VpnRpcAzureStatus 3097 { 3098 /// <summary> 3099 /// Whether VPN Azure Function is Enabled 3100 /// </summary> 3101 public bool IsEnabled_bool; 3102 3103 /// <summary> 3104 /// Whether connection to VPN Azure Cloud Server is established 3105 /// </summary> 3106 public bool IsConnected_bool; 3107 } 3108 3109 /// <summary> 3110 /// Local Bridge support information 3111 /// </summary> 3112 public class VpnRpcBridgeSupport 3113 { 3114 /// <summary> 3115 /// Whether the OS supports the Local Bridge function 3116 /// </summary> 3117 public bool IsBridgeSupportedOs_bool; 3118 3119 /// <summary> 3120 /// Whether WinPcap is necessary to install 3121 /// </summary> 3122 public bool IsWinPcapNeeded_bool; 3123 } 3124 3125 /// <summary> 3126 /// Get the CA of HUB 3127 /// </summary> 3128 public class VpnRpcHubGetCA 3129 { 3130 /// <summary> 3131 /// The Virtual Hub name 3132 /// </summary> 3133 public string HubName_str; 3134 3135 /// <summary> 3136 /// The key id of the certificate 3137 /// </summary> 3138 public uint Key_u32; 3139 3140 /// <summary> 3141 /// The body of the X.509 certificate 3142 /// </summary> 3143 public byte[] Cert_bin; 3144 } 3145 3146 /// <summary> 3147 /// Caps item of the VPN Server 3148 /// </summary> 3149 public class VpnCaps 3150 { 3151 /// <summary> 3152 /// Name 3153 /// </summary> 3154 public string CapsName_str; 3155 3156 /// <summary> 3157 /// Value 3158 /// </summary> 3159 public uint CapsValue_u32; 3160 3161 /// <summary> 3162 /// Descrption 3163 /// </summary> 3164 public string CapsDescrption_utf; 3165 } 3166 3167 /// <summary> 3168 /// Caps list of the VPN Server 3169 ///</summary> 3170 public class VpnCapslist 3171 { 3172 /// <summary> 3173 /// Caps list of the VPN Server 3174 /// </summary> 3175 public VpnCaps[] CapsList; 3176 } 3177 3178 /// <summary> 3179 /// Config operation 3180 /// </summary> 3181 public class VpnRpcConfig 3182 { 3183 /// <summary> 3184 /// File name (valid only for returning from the server) 3185 /// </summary> 3186 public string FileName_str; 3187 3188 /// <summary> 3189 /// File data 3190 /// </summary> 3191 public byte[] FileData_bin; 3192 } 3193 3194 /// <summary> 3195 /// Connection information 3196 /// </summary> 3197 public class VpnRpcConnectionInfo 3198 { 3199 /// <summary> 3200 /// Connection name 3201 /// </summary> 3202 public string Name_str; 3203 3204 /// <summary> 3205 /// Type 3206 /// </summary> 3207 public VpnRpcConnectionType Type_u32; 3208 3209 /// <summary> 3210 /// Host name 3211 /// </summary> 3212 public string Hostname_str; 3213 3214 /// <summary> 3215 /// IP address 3216 /// </summary> 3217 public string Ip_ip; 3218 3219 /// <summary> 3220 /// Port number 3221 /// </summary> 3222 public uint Port_u32; 3223 3224 /// <summary> 3225 /// Connected time 3226 /// </summary> 3227 public DateTime ConnectedTime_dt; 3228 3229 /// <summary> 3230 /// Server string 3231 /// </summary> 3232 public string ServerStr_str; 3233 3234 /// <summary> 3235 /// Server version 3236 /// </summary> 3237 public uint ServerVer_u32; 3238 3239 /// <summary> 3240 /// Server build number 3241 /// </summary> 3242 public uint ServerBuild_u32; 3243 3244 /// <summary> 3245 /// Client string 3246 /// </summary> 3247 public string ClientStr_str; 3248 3249 /// <summary> 3250 /// Client version 3251 /// </summary> 3252 public uint ClientVer_u32; 3253 3254 /// <summary> 3255 /// Client build number 3256 /// </summary> 3257 public uint ClientBuild_u32; 3258 } 3259 3260 /// <summary> 3261 /// Proxy type 3262 /// </summary> 3263 public enum VpnRpcProxyType 3264 { 3265 /// <summary> 3266 /// Direct TCP connection 3267 /// </summary> 3268 Direct = 0, 3269 3270 /// <summary> 3271 /// Connection via HTTP proxy server 3272 /// </summary> 3273 HTTP = 1, 3274 3275 /// <summary> 3276 /// Connection via SOCKS proxy server 3277 /// </summary> 3278 SOCKS = 2, 3279 } 3280 3281 /// <summary> 3282 /// The current status of the DDNS 3283 /// </summary> 3284 public class VpnDDnsClientStatus 3285 { 3286 /// <summary> 3287 /// Last error code (IPv4) 3288 /// </summary> 3289 public uint Err_IPv4_u32; 3290 3291 /// <summary> 3292 /// Last error string (IPv4) 3293 /// </summary> 3294 public string ErrStr_IPv4_utf; 3295 3296 /// <summary> 3297 /// Last error code (IPv6) 3298 /// </summary> 3299 public uint Err_IPv6_u32; 3300 3301 /// <summary> 3302 /// Last error string (IPv6) 3303 /// </summary> 3304 public string ErrStr_IPv6_utf; 3305 3306 /// <summary> 3307 /// Current DDNS host name 3308 /// </summary> 3309 public string CurrentHostName_str; 3310 3311 /// <summary> 3312 /// Current FQDN of the DDNS hostname 3313 /// </summary> 3314 public string CurrentFqdn_str; 3315 3316 /// <summary> 3317 /// DDNS suffix 3318 /// </summary> 3319 public string DnsSuffix_str; 3320 3321 /// <summary> 3322 /// Current IPv4 address of the VPN Server 3323 /// </summary> 3324 public string CurrentIPv4_str; 3325 3326 /// <summary> 3327 /// Current IPv6 address of the VPN Server 3328 /// </summary> 3329 public string CurrentIPv6_str; 3330 } 3331 3332 /// <summary> 3333 /// Internet connection settings 3334 /// </summary> 3335 public class VpnInternetSetting 3336 { 3337 /// <summary> 3338 /// Type of proxy server 3339 /// </summary> 3340 public VpnRpcProxyType ProxyType_u32; 3341 3342 /// <summary> 3343 /// Proxy server host name 3344 /// </summary> 3345 public string ProxyHostName_str; 3346 3347 /// <summary> 3348 /// Proxy server port number 3349 /// </summary> 3350 public uint ProxyPort_u32; 3351 3352 /// <summary> 3353 /// Proxy server user name 3354 /// </summary> 3355 public string ProxyUsername_str; 3356 3357 /// <summary> 3358 /// Proxy server password 3359 /// </summary> 3360 public string ProxyPassword_str; 3361 } 3362 3363 /// <summary> 3364 /// Administration options 3365 /// </summary> 3366 public class VpnAdminOption 3367 { 3368 /// <summary> 3369 /// Name 3370 /// </summary> 3371 public string Name_str; 3372 3373 /// <summary> 3374 /// Data 3375 /// </summary> 3376 public uint Value_u32; 3377 3378 /// <summary> 3379 /// Descrption 3380 /// </summary> 3381 public string Descrption_utf; 3382 } 3383 3384 /// <summary> 3385 /// Administration options list 3386 /// </summary> 3387 public class VpnRpcAdminOption 3388 { 3389 /// <summary> 3390 /// Virtual HUB name 3391 /// </summary> 3392 public string HubName_str; 3393 3394 /// <summary> 3395 /// List data 3396 /// </summary> 3397 public VpnAdminOption[] AdminOptionList; 3398 } 3399 3400 /// <summary> 3401 /// Connection state to the controller 3402 /// </summary> 3403 public class VpnRpcFarmConnectionStatus 3404 { 3405 /// <summary> 3406 /// IP address 3407 /// </summary> 3408 public string Ip_ip; 3409 3410 /// <summary> 3411 /// Port number 3412 /// </summary> 3413 public uint Port_u32; 3414 3415 /// <summary> 3416 /// Online state 3417 /// </summary> 3418 public bool Online_bool; 3419 3420 /// <summary> 3421 /// Last error code 3422 /// </summary> 3423 public uint LastError_u32; 3424 3425 /// <summary> 3426 /// Connection start time 3427 /// </summary> 3428 public DateTime StartedTime_dt; 3429 3430 /// <summary> 3431 /// First connection time 3432 /// </summary> 3433 public DateTime FirstConnectedTime_dt; 3434 3435 /// <summary> 3436 /// Connection time of this time 3437 /// </summary> 3438 public DateTime CurrentConnectedTime_dt; 3439 3440 /// <summary> 3441 /// Number of retries 3442 /// </summary> 3443 public uint NumTry_u32; 3444 3445 /// <summary> 3446 /// Number of connection count 3447 /// </summary> 3448 public uint NumConnected_u32; 3449 3450 /// <summary> 3451 /// Connection failure count 3452 /// </summary> 3453 public uint NumFailed_u32; 3454 } 3455 3456 /// <summary> 3457 /// HUB item of each farm member 3458 /// </summary> 3459 public class VpnRpcFarmHub 3460 { 3461 /// <summary> 3462 /// The Virtual Hub name 3463 /// </summary> 3464 public string HubName_str; 3465 3466 /// <summary> 3467 /// Dynamic HUB 3468 /// </summary> 3469 public bool DynamicHub_bool; 3470 } 3471 3472 3473 /// <summary> 3474 /// Server farm member information acquisition 3475 /// </summary> 3476 public class VpnRpcFarmInfo 3477 { 3478 /// <summary> 3479 /// ID 3480 /// </summary> 3481 public uint Id_u32; 3482 3483 /// <summary> 3484 /// The flag if the server is Cluster Controller (false: Cluster Member servers) 3485 /// </summary> 3486 public bool Controller_bool; 3487 3488 /// <summary> 3489 /// Connection Established Time 3490 /// </summary> 3491 public DateTime ConnectedTime_dt; 3492 3493 /// <summary> 3494 /// IP address 3495 /// </summary> 3496 public string Ip_ip; 3497 3498 /// <summary> 3499 /// Host name 3500 /// </summary> 3501 public string Hostname_str; 3502 3503 /// <summary> 3504 /// Point 3505 /// </summary> 3506 public uint Point_u32; 3507 3508 /// <summary> 3509 /// Number of Public Ports 3510 /// </summary> 3511 public uint NumPort_u32; 3512 3513 /// <summary> 3514 /// Public Ports 3515 /// </summary> 3516 public uint[] Ports_u32; 3517 3518 /// <summary> 3519 /// Server certificate 3520 /// </summary> 3521 public byte[] ServerCert_bin; 3522 3523 /// <summary> 3524 /// Number of farm HUB 3525 /// </summary> 3526 public uint NumFarmHub_u32; 3527 3528 /// <summary> 3529 /// The hosted Virtual Hub list 3530 /// </summary> 3531 public VpnRpcFarmHub[] HubsList; 3532 3533 /// <summary> 3534 /// Number of hosted VPN sessions 3535 /// </summary> 3536 public uint NumSessions_u32; 3537 3538 /// <summary> 3539 /// Number of TCP connections 3540 /// </summary> 3541 public uint NumTcpConnections_u32; 3542 3543 /// <summary> 3544 /// Performance Standard Ratio 3545 /// </summary> 3546 public uint Weight_u32; 3547 } 3548 3549 /// <summary> 3550 /// Server farm configuration 3551 /// </summary> 3552 public class VpnRpcFarm 3553 { 3554 /// <summary> 3555 /// Type of server 3556 /// </summary> 3557 public VpnRpcServerType ServerType_u32; 3558 3559 /// <summary> 3560 /// Valid only for Cluster Member servers. Number of the Ports_u32 element. 3561 /// </summary> 3562 public uint NumPort_u32; 3563 3564 /// <summary> 3565 /// Valid only for Cluster Member servers. Specify the list of public port numbers on this server. The list must have at least one public port number set, and it is also possible to set multiple public port numbers. 3566 /// </summary> 3567 public uint[] Ports_u32; 3568 3569 /// <summary> 3570 /// Valid only for Cluster Member servers. Specify the public IP address of this server. If you wish to leave public IP address unspecified, specify the empty string. When a public IP address is not specified, the IP address of the network interface used when connecting to the cluster controller will be automatically used. 3571 /// </summary> 3572 public string PublicIp_ip; 3573 3574 /// <summary> 3575 /// Valid only for Cluster Member servers. Specify the host name or IP address of the destination cluster controller. 3576 /// </summary> 3577 public string ControllerName_str; 3578 3579 /// <summary> 3580 /// Valid only for Cluster Member servers. Specify the TCP port number of the destination cluster controller. 3581 /// </summary> 3582 public uint ControllerPort_u32; 3583 3584 /// <summary> 3585 /// Valid only for Cluster Member servers. Specify the password required to connect to the destination controller. It needs to be the same as an administrator password on the destination controller. 3586 /// </summary> 3587 public string MemberPasswordPlaintext_str; 3588 3589 /// <summary> 3590 /// This sets a value for the performance standard ratio of this VPN Server. This is the standard value for when load balancing is performed in the cluster. For example, making only one machine 200 while the other members have a status of 100, will regulate that machine to receive twice as many connections as the other members. Specify 1 or higher for the value. If this parameter is left unspecified, 100 will be used. 3591 /// </summary> 3592 public uint Weight_u32; 3593 3594 /// <summary> 3595 /// Valid only for Cluster Controller server. By specifying true, the VPN Server will operate only as a controller on the cluster and it will always distribute general VPN Client connections to members other than itself. This function is used in high-load environments. 3596 /// </summary> 3597 public bool ControllerOnly_bool; 3598 } 3599 3600 /// <summary> 3601 /// Log switch type 3602 /// </summary> 3603 public enum VpnRpcLogSwitchType 3604 { 3605 /// <summary> 3606 /// No switching 3607 /// </summary> 3608 No = 0, 3609 3610 /// <summary> 3611 /// Secondly basis 3612 /// </summary> 3613 Second = 1, 3614 3615 /// <summary> 3616 /// Minutely basis 3617 /// </summary> 3618 Minute = 2, 3619 3620 /// <summary> 3621 /// Hourly basis 3622 /// </summary> 3623 Hour = 3, 3624 3625 /// <summary> 3626 /// Daily basis 3627 /// </summary> 3628 Day = 4, 3629 3630 /// <summary> 3631 /// Monthly basis 3632 /// </summary> 3633 Month = 5, 3634 } 3635 3636 /// <summary> 3637 /// Packet log settings 3638 /// </summary> 3639 public enum VpnRpcPacketLogSetting 3640 { 3641 /// <summary> 3642 /// Not save 3643 /// </summary> 3644 None = 0, 3645 3646 /// <summary> 3647 /// Only header 3648 /// </summary> 3649 Header = 1, 3650 3651 /// <summary> 3652 /// All payloads 3653 /// </summary> 3654 All = 2, 3655 } 3656 3657 /// <summary> 3658 /// Packet log settings array index 3659 /// </summary> 3660 public enum VpnRpcPacketLogSettingIndex 3661 { 3662 /// <summary> 3663 /// TCP connection log 3664 /// </summary> 3665 TcpConnection = 0, 3666 3667 /// <summary> 3668 /// TCP packet log 3669 /// </summary> 3670 TcpAll = 1, 3671 3672 /// <summary> 3673 /// DHCP Log 3674 /// </summary> 3675 Dhcp = 2, 3676 3677 /// <summary> 3678 /// UDP log 3679 /// </summary> 3680 Udp = 3, 3681 3682 /// <summary> 3683 /// ICMP log 3684 /// </summary> 3685 Icmp = 4, 3686 3687 /// <summary> 3688 /// IP log 3689 /// </summary> 3690 Ip = 5, 3691 3692 /// <summary> 3693 /// ARP log 3694 /// </summary> 3695 Arp = 6, 3696 3697 /// <summary> 3698 /// Ethernet log 3699 /// </summary> 3700 Ethernet = 7, 3701 } 3702 3703 /// <summary> 3704 /// HUB log settings 3705 /// </summary> 3706 public class VpnRpcHubLog 3707 { 3708 /// <summary> 3709 /// The Virtual Hub name 3710 /// </summary> 3711 public string HubName_str; 3712 3713 /// <summary> 3714 /// The flag to enable / disable saving the security log 3715 /// </summary> 3716 public bool SaveSecurityLog_bool; 3717 3718 /// <summary> 3719 /// The log filename switching setting of the security log 3720 /// </summary> 3721 public VpnRpcLogSwitchType SecurityLogSwitchType_u32; 3722 3723 /// <summary> 3724 /// The flag to enable / disable saving the security log 3725 /// </summary> 3726 public bool SavePacketLog_bool; 3727 3728 /// <summary> 3729 /// The log filename switching settings of the packet logs 3730 /// </summary> 3731 public VpnRpcLogSwitchType PacketLogSwitchType_u32; 3732 3733 /// <summary> 3734 /// Specify the save contents of the packet logs (uint * 16 array). The index numbers: TcpConnection = 0, TcpAll = 1, DHCP = 2, UDP = 3, ICMP = 4, IP = 5, ARP = 6, Ethernet = 7. 3735 /// </summary> 3736 public VpnRpcPacketLogSetting[] PacketLogConfig_u32 = new VpnRpcPacketLogSetting[16]; 3737 } 3738 3739 /// <summary> 3740 /// RADIUS server options 3741 /// </summary> 3742 public class VpnRpcRadius 3743 { 3744 /// <summary> 3745 /// The Virtual Hub name 3746 /// </summary> 3747 public string HubName_str; 3748 3749 /// <summary> 3750 /// RADIUS server name 3751 /// </summary> 3752 public string RadiusServerName_str; 3753 3754 /// <summary> 3755 /// RADIUS port number 3756 /// </summary> 3757 public uint RadiusPort_u32; 3758 3759 /// <summary> 3760 /// Secret key 3761 /// </summary> 3762 public string RadiusSecret_str; 3763 3764 /// <summary> 3765 /// Radius retry interval 3766 /// </summary> 3767 public uint RadiusRetryInterval_u32; 3768 } 3769 3770 /// <summary> 3771 /// Get the state HUB 3772 /// </summary> 3773 public class VpnRpcHubStatus 3774 { 3775 /// <summary> 3776 /// The Virtual Hub name 3777 /// </summary> 3778 public string HubName_str; 3779 3780 /// <summary> 3781 /// Online 3782 /// </summary> 3783 public bool Online_bool; 3784 3785 /// <summary> 3786 /// Type of HUB 3787 /// </summary> 3788 public VpnRpcHubType HubType_u32; 3789 3790 /// <summary> 3791 /// Number of sessions 3792 /// </summary> 3793 public uint NumSessions_u32; 3794 3795 /// <summary> 3796 /// Number of sessions (client mode) 3797 /// </summary> 3798 public uint NumSessionsClient_u32; 3799 3800 /// <summary> 3801 /// Number of sessions (bridge mode) 3802 /// </summary> 3803 public uint NumSessionsBridge_u32; 3804 3805 /// <summary> 3806 /// Number of Access list entries 3807 /// </summary> 3808 public uint NumAccessLists_u32; 3809 3810 /// <summary> 3811 /// Number of users 3812 /// </summary> 3813 public uint NumUsers_u32; 3814 3815 /// <summary> 3816 /// Number of groups 3817 /// </summary> 3818 public uint NumGroups_u32; 3819 3820 /// <summary> 3821 /// Number of MAC table entries 3822 /// </summary> 3823 public uint NumMacTables_u32; 3824 3825 /// <summary> 3826 /// Number of IP table entries 3827 /// </summary> 3828 public uint NumIpTables_u32; 3829 3830 /// <summary> 3831 /// Number of broadcast packets (Recv) 3832 /// </summary> 3833 [JsonProperty("Recv.BroadcastBytes_u64")] 3834 public ulong Recv_BroadcastBytes_u64; 3835 3836 /// <summary> 3837 /// Broadcast bytes (Recv) 3838 /// </summary> 3839 [JsonProperty("Recv.BroadcastCount_u64")] 3840 public ulong Recv_BroadcastCount_u64; 3841 3842 /// <summary> 3843 /// Unicast count (Recv) 3844 /// </summary> 3845 [JsonProperty("Recv.UnicastBytes_u64")] 3846 public ulong Recv_UnicastBytes_u64; 3847 3848 /// <summary> 3849 /// Unicast bytes (Recv) 3850 /// </summary> 3851 [JsonProperty("Recv.UnicastCount_u64")] 3852 public ulong Recv_UnicastCount_u64; 3853 3854 /// <summary> 3855 /// Number of broadcast packets (Send) 3856 /// </summary> 3857 [JsonProperty("Send.BroadcastBytes_u64")] 3858 public ulong Send_BroadcastBytes_u64; 3859 3860 /// <summary> 3861 /// Broadcast bytes (Send) 3862 /// </summary> 3863 [JsonProperty("Send.BroadcastCount_u64")] 3864 public ulong Send_BroadcastCount_u64; 3865 3866 /// <summary> 3867 /// Unicast bytes (Send) 3868 /// </summary> 3869 [JsonProperty("Send.UnicastBytes_u64")] 3870 public ulong Send_UnicastBytes_u64; 3871 3872 /// <summary> 3873 /// Unicast bytes (Send) 3874 /// </summary> 3875 [JsonProperty("Send.UnicastCount_u64")] 3876 public ulong Send_UnicastCount_u64; 3877 3878 /// <summary> 3879 /// Whether SecureNAT is enabled 3880 /// </summary> 3881 public bool SecureNATEnabled_bool; 3882 3883 /// <summary> 3884 /// Last communication date and time 3885 /// </summary> 3886 public DateTime LastCommTime_dt; 3887 3888 /// <summary> 3889 /// Last login date and time 3890 /// </summary> 3891 public DateTime LastLoginTime_dt; 3892 3893 /// <summary> 3894 /// Creation date and time 3895 /// </summary> 3896 public DateTime CreatedTime_dt; 3897 3898 /// <summary> 3899 /// Number of logins 3900 /// </summary> 3901 public uint NumLogin_u32; 3902 } 3903 3904 /// <summary> 3905 /// List of services provided by IPsec server 3906 /// </summary> 3907 public class VpnIPsecServices 3908 { 3909 /// <summary> 3910 /// Enable or Disable the L2TP Server Function (Raw L2TP with No Encryptions). To accept special VPN clients, enable this option. 3911 /// </summary> 3912 public bool L2TP_Raw_bool; 3913 3914 /// <summary> 3915 /// Enable or Disable the L2TP over IPsec Server Function. To accept VPN connections from iPhone, iPad, Android, Windows or Mac OS X, enable this option. 3916 /// </summary> 3917 public bool L2TP_IPsec_bool; 3918 3919 /// <summary> 3920 /// Enable or Disable the EtherIP / L2TPv3 over IPsec Server Function (for site-to-site VPN Server function). Router Products which are compatible with EtherIP over IPsec can connect to Virtual Hubs on the VPN Server and establish Layer-2 (Ethernet) Bridging. 3921 /// </summary> 3922 public bool EtherIP_IPsec_bool; 3923 3924 /// <summary> 3925 /// Specify the IPsec Pre-Shared Key. An IPsec Pre-Shared Key is also called as "PSK" or "secret". Specify it equal or less than 8 letters, and distribute it to every users who will connect to the VPN Server. Please note: Google Android 4.0 has a bug which a Pre-Shared Key with 10 or more letters causes a unexpected behavior. For that reason, the letters of a Pre-Shared Key should be 9 or less characters. 3926 /// </summary> 3927 public string IPsec_Secret_str; 3928 3929 /// <summary> 3930 /// Specify the default Virtual HUB in a case of omitting the name of HUB on the Username. Users should specify their username such as "Username@Target Virtual HUB Name" to connect this L2TP Server. If the designation of the Virtual Hub is omitted, the above HUB will be used as the target. 3931 /// </summary> 3932 public string L2TP_DefaultHub_str; 3933 } 3934 3935 /// <summary> 3936 /// Keep alive protocol 3937 /// </summary> 3938 public enum VpnRpcKeepAliveProtocol 3939 { 3940 /// <summary> 3941 /// TCP 3942 /// </summary> 3943 TCP = 0, 3944 3945 /// <summary> 3946 /// UDP 3947 /// </summary> 3948 UDP = 1, 3949 } 3950 3951 /// <summary> 3952 /// Keep Alive settings 3953 /// </summary> 3954 public class VpnRpcKeep 3955 { 3956 /// <summary> 3957 /// The flag to enable keep-alive to the Internet 3958 /// </summary> 3959 public bool UseKeepConnect_bool; 3960 3961 /// <summary> 3962 /// Specify the host name or IP address of the destination 3963 /// </summary> 3964 public string KeepConnectHost_str; 3965 3966 /// <summary> 3967 /// Specify the port number of the destination 3968 /// </summary> 3969 public uint KeepConnectPort_u32; 3970 3971 /// <summary> 3972 /// Protocol type 3973 /// </summary> 3974 public VpnRpcKeepAliveProtocol KeepConnectProtocol_u32; 3975 3976 /// <summary> 3977 /// Interval Between Packets Sends (Seconds) 3978 /// </summary> 3979 public uint KeepConnectInterval_u32; 3980 } 3981 3982 /// <summary> 3983 /// State of the client session 3984 /// </summary> 3985 public enum VpnRpcClientSessionStatus 3986 { 3987 /// <summary> 3988 /// Connecting 3989 /// </summary> 3990 Connecting = 0, 3991 3992 /// <summary> 3993 /// Negotiating 3994 /// </summary> 3995 Negotiation = 1, 3996 3997 /// <summary> 3998 /// During user authentication 3999 /// </summary> 4000 Auth = 2, 4001 4002 /// <summary> 4003 /// Connection complete 4004 /// </summary> 4005 Established = 3, 4006 4007 /// <summary> 4008 /// Wait to retry 4009 /// </summary> 4010 Retry = 4, 4011 4012 /// <summary> 4013 /// Idle state 4014 /// </summary> 4015 Idle = 5, 4016 } 4017 4018 /// <summary> 4019 /// Get the link state 4020 /// </summary> 4021 public class VpnRpcLinkStatus 4022 { 4023 /// <summary> 4024 /// The Virtual Hub name 4025 /// </summary> 4026 public string HubName_Ex_str; 4027 4028 /// <summary> 4029 /// The name of the cascade connection 4030 /// </summary> 4031 public string AccountName_utf; 4032 4033 /// <summary> 4034 /// The flag whether the cascade connection is enabled 4035 /// </summary> 4036 public bool Active_bool; 4037 4038 /// <summary> 4039 /// The flag whether the cascade connection is established 4040 /// </summary> 4041 public bool Connected_bool; 4042 4043 /// <summary> 4044 /// The session status 4045 /// </summary> 4046 public VpnRpcClientSessionStatus SessionStatus_u32; 4047 4048 /// <summary> 4049 /// The destination VPN server name 4050 /// </summary> 4051 public string ServerName_str; 4052 4053 /// <summary> 4054 /// The port number of the server 4055 /// </summary> 4056 public uint ServerPort_u32; 4057 4058 /// <summary> 4059 /// Server product name 4060 /// </summary> 4061 public string ServerProductName_str; 4062 4063 /// <summary> 4064 /// Server product version 4065 /// </summary> 4066 public uint ServerProductVer_u32; 4067 4068 /// <summary> 4069 /// Server product build number 4070 /// </summary> 4071 public uint ServerProductBuild_u32; 4072 4073 /// <summary> 4074 /// Server's X.509 certificate 4075 /// </summary> 4076 public byte[] ServerX_bin; 4077 4078 /// <summary> 4079 /// Client certificate 4080 /// </summary> 4081 public byte[] ClientX_bin; 4082 4083 /// <summary> 4084 /// Connection start time 4085 /// </summary> 4086 public DateTime StartTime_dt; 4087 4088 /// <summary> 4089 /// Connection completion time of the first connection 4090 /// </summary> 4091 public DateTime FirstConnectionEstablisiedTime_dt; 4092 4093 /// <summary> 4094 /// Connection completion time of this connection 4095 /// </summary> 4096 public DateTime CurrentConnectionEstablishTime_dt; 4097 4098 /// <summary> 4099 /// Number of connections have been established so far 4100 /// </summary> 4101 public uint NumConnectionsEatablished_u32; 4102 4103 /// <summary> 4104 /// Half-connection 4105 /// </summary> 4106 public bool HalfConnection_bool; 4107 4108 /// <summary> 4109 /// VoIP / QoS 4110 /// </summary> 4111 public bool QoS_bool; 4112 4113 /// <summary> 4114 /// Maximum number of the underlying TCP connections 4115 /// </summary> 4116 public uint MaxTcpConnections_u32; 4117 4118 /// <summary> 4119 /// Number of current underlying TCP connections 4120 /// </summary> 4121 public uint NumTcpConnections_u32; 4122 4123 /// <summary> 4124 /// Number of underlying inbound TCP connections 4125 /// </summary> 4126 public uint NumTcpConnectionsUpload_u32; 4127 4128 /// <summary> 4129 /// Number of underlying outbound TCP connections 4130 /// </summary> 4131 public uint NumTcpConnectionsDownload_u32; 4132 4133 /// <summary> 4134 /// Use of encryption 4135 /// </summary> 4136 public bool UseEncrypt_bool; 4137 4138 /// <summary> 4139 /// Cipher algorithm name 4140 /// </summary> 4141 public string CipherName_str; 4142 4143 /// <summary> 4144 /// Use of compression 4145 /// </summary> 4146 public bool UseCompress_bool; 4147 4148 /// <summary> 4149 /// The flag whether this is a R-UDP session 4150 /// </summary> 4151 public bool IsRUDPSession_bool; 4152 4153 /// <summary> 4154 /// Underlying physical communication protocol 4155 /// </summary> 4156 public string UnderlayProtocol_str; 4157 4158 /// <summary> 4159 /// The UDP acceleration is enabled 4160 /// </summary> 4161 public bool IsUdpAccelerationEnabled_bool; 4162 4163 /// <summary> 4164 /// The UDP acceleration is being actually used 4165 /// </summary> 4166 public bool IsUsingUdpAcceleration_bool; 4167 4168 /// <summary> 4169 /// Session name 4170 /// </summary> 4171 public string SessionName_str; 4172 4173 /// <summary> 4174 /// Connection name 4175 /// </summary> 4176 public string ConnectionName_str; 4177 4178 /// <summary> 4179 /// Session key 4180 /// </summary> 4181 public byte[] SessionKey_bin; 4182 4183 /// <summary> 4184 /// Total transmitted data size 4185 /// </summary> 4186 public ulong TotalSendSize_u64; 4187 4188 /// <summary> 4189 /// Total received data size 4190 /// </summary> 4191 public ulong TotalRecvSize_u64; 4192 4193 /// <summary> 4194 /// Total transmitted data size (no compression) 4195 /// </summary> 4196 public ulong TotalSendSizeReal_u64; 4197 4198 /// <summary> 4199 /// Total received data size (no compression) 4200 /// </summary> 4201 public ulong TotalRecvSizeReal_u64; 4202 4203 /// <summary> 4204 /// The flag whether the VPN session is Bridge Mode 4205 /// </summary> 4206 public bool IsBridgeMode_bool; 4207 4208 /// <summary> 4209 /// The flag whether the VPN session is Monitor mode 4210 /// </summary> 4211 public bool IsMonitorMode_bool; 4212 4213 /// <summary> 4214 /// VLAN ID 4215 /// </summary> 4216 public uint VLanId_u32; 4217 } 4218 4219 /// <summary> 4220 /// Setting of SSTP and OpenVPN 4221 /// </summary> 4222 public class VpnOpenVpnSstpConfig 4223 { 4224 /// <summary> 4225 /// Specify true to enable the OpenVPN Clone Server Function. Specify false to disable. 4226 /// </summary> 4227 public bool EnableOpenVPN_bool; 4228 4229 /// <summary> 4230 /// Specify UDP ports to listen for OpenVPN. Multiple UDP ports can be specified with splitting by space or comma letters, for example: "1194, 2001, 2010, 2012". The default port for OpenVPN is UDP 1194. You can specify any other UDP ports. 4231 /// </summary> 4232 public string OpenVPNPortList_str; 4233 4234 /// <summary> 4235 /// pecify true to enable the Microsoft SSTP VPN Clone Server Function. Specify false to disable. 4236 /// </summary> 4237 public bool EnableSSTP_bool; 4238 } 4239 4240 /// <summary> 4241 /// Virtual host option 4242 /// </summary> 4243 public class VpnVhOption 4244 { 4245 /// <summary> 4246 /// Target Virtual HUB name 4247 /// </summary> 4248 public string RpcHubName_str; 4249 4250 /// <summary> 4251 /// MAC address 4252 /// </summary> 4253 public byte[] MacAddress_bin; 4254 4255 /// <summary> 4256 /// IP address 4257 /// </summary> 4258 public string Ip_ip; 4259 4260 /// <summary> 4261 /// Subnet mask 4262 /// </summary> 4263 public string Mask_ip; 4264 4265 /// <summary> 4266 /// Use flag of the Virtual NAT function 4267 /// </summary> 4268 public bool UseNat_bool; 4269 4270 /// <summary> 4271 /// MTU value (Standard: 1500) 4272 /// </summary> 4273 public uint Mtu_u32; 4274 4275 /// <summary> 4276 /// NAT TCP timeout in seconds 4277 /// </summary> 4278 public uint NatTcpTimeout_u32; 4279 4280 /// <summary> 4281 /// NAT UDP timeout in seconds 4282 /// </summary> 4283 public uint NatUdpTimeout_u32; 4284 4285 /// <summary> 4286 /// Using flag of DHCP function 4287 /// </summary> 4288 public bool UseDhcp_bool; 4289 4290 /// <summary> 4291 /// Specify the start point of the address band to be distributed to the client. (Example: 192.168.30.10) 4292 /// </summary> 4293 public string DhcpLeaseIPStart_ip; 4294 4295 /// <summary> 4296 /// Specify the end point of the address band to be distributed to the client. (Example: 192.168.30.200) 4297 /// </summary> 4298 public string DhcpLeaseIPEnd_ip; 4299 4300 /// <summary> 4301 /// Specify the subnet mask to be specified for the client. (Example: 255.255.255.0) 4302 /// </summary> 4303 public string DhcpSubnetMask_ip; 4304 4305 /// <summary> 4306 /// Specify the expiration date in second units for leasing an IP address to a client. 4307 /// </summary> 4308 public uint DhcpExpireTimeSpan_u32; 4309 4310 /// <summary> 4311 /// Specify the IP address of the default gateway to be notified to the client. You can specify a SecureNAT Virtual Host IP address for this when the SecureNAT Function's Virtual NAT Function has been enabled and is being used also. If you specify 0 or none, then the client will not be notified of the default gateway. 4312 /// </summary> 4313 public string DhcpGatewayAddress_ip; 4314 4315 /// <summary> 4316 /// Specify the IP address of the primary DNS Server to be notified to the client. You can specify a SecureNAT Virtual Host IP address for this when the SecureNAT Function's Virtual NAT Function has been enabled and is being used also. If you specify empty, then the client will not be notified of the DNS Server address. 4317 /// </summary> 4318 public string DhcpDnsServerAddress_ip; 4319 4320 /// <summary> 4321 /// Specify the IP address of the secondary DNS Server to be notified to the client. You can specify a SecureNAT Virtual Host IP address for this when the SecureNAT Function's Virtual NAT Function has been enabled and is being used also. If you specify empty, then the client will not be notified of the DNS Server address. 4322 /// </summary> 4323 public string DhcpDnsServerAddress2_ip; 4324 4325 /// <summary> 4326 /// Specify the domain name to be notified to the client. If you specify none, then the client will not be notified of the domain name. 4327 /// </summary> 4328 public string DhcpDomainName_str; 4329 4330 /// <summary> 4331 /// Specify whether or not to save the Virtual DHCP Server operation in the Virtual Hub security log. Specify true to save it. This value is interlinked with the Virtual NAT Function log save setting. 4332 /// </summary> 4333 public bool SaveLog_bool; 4334 4335 /// <summary> 4336 /// The flag to enable the DhcpPushRoutes_str field. 4337 /// </summary> 4338 public bool ApplyDhcpPushRoutes_bool; 4339 4340 /// <summary> 4341 /// Specify the static routing table to push. Example: "192.168.5.0/255.255.255.0/192.168.4.254, 10.0.0.0/255.0.0.0/192.168.4.253" Split multiple entries (maximum: 64 entries) by comma or space characters. Each entry must be specified in the "IP network address/subnet mask/gateway IP address" format. This Virtual DHCP Server can push the classless static routes (RFC 3442) with DHCP reply messages to VPN clients. Whether or not a VPN client can recognize the classless static routes (RFC 3442) depends on the target VPN client software. SoftEther VPN Client and OpenVPN Client are supporting the classless static routes. On L2TP/IPsec and MS-SSTP protocols, the compatibility depends on the implementation of the client software. You can realize the split tunneling if you clear the default gateway field on the Virtual DHCP Server options. On the client side, L2TP/IPsec and MS-SSTP clients need to be configured not to set up the default gateway for the split tunneling usage. You can also push the classless static routes (RFC 3442) by your existing external DHCP server. In that case, disable the Virtual DHCP Server function on SecureNAT, and you need not to set up the classless routes on this API. See the RFC 3442 to understand the classless routes. 4342 /// </summary> 4343 public string DhcpPushRoutes_str; 4344 } 4345 4346 /// <summary> 4347 /// RPC_NAT_STATUS 4348 /// </summary> 4349 public class VpnRpcNatStatus 4350 { 4351 /// <summary> 4352 /// Virtual Hub Name 4353 /// </summary> 4354 public string HubName_str; 4355 4356 /// <summary> 4357 /// Number of TCP sessions 4358 /// </summary> 4359 public uint NumTcpSessions_u32; 4360 4361 /// <summary> 4362 /// Ntmber of UDP sessions 4363 /// </summary> 4364 public uint NumUdpSessions_u32; 4365 4366 /// <summary> 4367 /// Nymber of ICMP sessions 4368 /// </summary> 4369 public uint NumIcmpSessions_u32; 4370 4371 /// <summary> 4372 /// Number of DNS sessions 4373 /// </summary> 4374 public uint NumDnsSessions_u32; 4375 4376 /// <summary> 4377 /// Number of DHCP clients 4378 /// </summary> 4379 public uint NumDhcpClients_u32; 4380 4381 /// <summary> 4382 /// Whether the NAT is operating in the Kernel Mode 4383 /// </summary> 4384 public bool IsKernelMode_bool; 4385 4386 /// <summary> 4387 /// Whether the NAT is operating in the Raw IP Mode 4388 /// </summary> 4389 public bool IsRawIpMode_bool; 4390 } 4391 4392 /// <summary> 4393 /// Key pair 4394 /// </summary> 4395 public class VpnRpcKeyPair 4396 { 4397 /// <summary> 4398 /// The body of the certificate 4399 /// </summary> 4400 public byte[] Cert_bin; 4401 4402 /// <summary> 4403 /// The body of the private key 4404 /// </summary> 4405 public byte[] Key_bin; 4406 } 4407 4408 /// <summary> 4409 /// Single string value 4410 /// </summary> 4411 public class VpnRpcStr 4412 { 4413 /// <summary> 4414 /// A string value 4415 /// </summary> 4416 public string String_str; 4417 } 4418 4419 /// <summary> 4420 /// Type of VPN Server 4421 /// </summary> 4422 public enum VpnRpcServerType 4423 { 4424 /// <summary> 4425 /// Stand-alone server 4426 /// </summary> 4427 Standalone = 0, 4428 4429 /// <summary> 4430 /// Farm controller server 4431 /// </summary> 4432 FarmController = 1, 4433 4434 /// <summary> 4435 /// Farm member server 4436 /// </summary> 4437 FarmMember = 2, 4438 } 4439 4440 /// <summary> 4441 /// Operating system type 4442 /// </summary> 4443 public enum VpnRpcOsType 4444 { 4445 /// <summary> 4446 /// Windows 95 4447 /// </summary> 4448 WINDOWS_95 = 1100, 4449 4450 /// <summary> 4451 /// Windows 98 4452 /// </summary> 4453 WINDOWS_98 = 1200, 4454 4455 /// <summary> 4456 /// Windows Me 4457 /// </summary> 4458 WINDOWS_ME = 1300, 4459 4460 /// <summary> 4461 /// Windows (unknown) 4462 /// </summary> 4463 WINDOWS_UNKNOWN = 1400, 4464 4465 /// <summary> 4466 /// Windows NT 4.0 Workstation 4467 /// </summary> 4468 WINDOWS_NT_4_WORKSTATION = 2100, 4469 4470 /// <summary> 4471 /// Windows NT 4.0 Server 4472 /// </summary> 4473 WINDOWS_NT_4_SERVER = 2110, 4474 4475 /// <summary> 4476 /// Windows NT 4.0 Server, Enterprise Edition 4477 /// </summary> 4478 WINDOWS_NT_4_SERVER_ENTERPRISE = 2111, 4479 4480 /// <summary> 4481 /// Windows NT 4.0 Terminal Server 4482 /// </summary> 4483 WINDOWS_NT_4_TERMINAL_SERVER = 2112, 4484 4485 /// <summary> 4486 /// BackOffice Server 4.5 4487 /// </summary> 4488 WINDOWS_NT_4_BACKOFFICE = 2113, 4489 4490 /// <summary> 4491 /// Small Business Server 4.5 4492 /// </summary> 4493 WINDOWS_NT_4_SMS = 2114, 4494 4495 /// <summary> 4496 /// Windows 2000 Professional 4497 /// </summary> 4498 WINDOWS_2000_PROFESSIONAL = 2200, 4499 4500 /// <summary> 4501 /// Windows 2000 Server 4502 /// </summary> 4503 WINDOWS_2000_SERVER = 2211, 4504 4505 /// <summary> 4506 /// Windows 2000 Advanced Server 4507 /// </summary> 4508 WINDOWS_2000_ADVANCED_SERVER = 2212, 4509 4510 /// <summary> 4511 /// Windows 2000 Datacenter Server 4512 /// </summary> 4513 WINDOWS_2000_DATACENTER_SERVER = 2213, 4514 4515 /// <summary> 4516 /// BackOffice Server 2000 4517 /// </summary> 4518 WINDOWS_2000_BACKOFFICE = 2214, 4519 4520 /// <summary> 4521 /// Small Business Server 2000 4522 /// </summary> 4523 WINDOWS_2000_SBS = 2215, 4524 4525 /// <summary> 4526 /// Windows XP Home Edition 4527 /// </summary> 4528 WINDOWS_XP_HOME = 2300, 4529 4530 /// <summary> 4531 /// Windows XP Professional 4532 /// </summary> 4533 WINDOWS_XP_PROFESSIONAL = 2301, 4534 4535 /// <summary> 4536 /// Windows Server 2003 Web Edition 4537 /// </summary> 4538 WINDOWS_2003_WEB = 2410, 4539 4540 /// <summary> 4541 /// Windows Server 2003 Standard Edition 4542 /// </summary> 4543 WINDOWS_2003_STANDARD = 2411, 4544 4545 /// <summary> 4546 /// Windows Server 2003 Enterprise Edition 4547 /// </summary> 4548 WINDOWS_2003_ENTERPRISE = 2412, 4549 4550 /// <summary> 4551 /// Windows Server 2003 DataCenter Edition 4552 /// </summary> 4553 WINDOWS_2003_DATACENTER = 2413, 4554 4555 /// <summary> 4556 /// BackOffice Server 2003 4557 /// </summary> 4558 WINDOWS_2003_BACKOFFICE = 2414, 4559 4560 /// <summary> 4561 /// Small Business Server 2003 4562 /// </summary> 4563 WINDOWS_2003_SBS = 2415, 4564 4565 /// <summary> 4566 /// Windows Vista 4567 /// </summary> 4568 WINDOWS_LONGHORN_PROFESSIONAL = 2500, 4569 4570 /// <summary> 4571 /// Windows Server 2008 4572 /// </summary> 4573 WINDOWS_LONGHORN_SERVER = 2510, 4574 4575 /// <summary> 4576 /// Windows 7 4577 /// </summary> 4578 WINDOWS_7 = 2600, 4579 4580 /// <summary> 4581 /// Windows Server 2008 R2 4582 /// </summary> 4583 WINDOWS_SERVER_2008_R2 = 2610, 4584 4585 /// <summary> 4586 /// Windows 8 4587 /// </summary> 4588 WINDOWS_8 = 2700, 4589 4590 /// <summary> 4591 /// Windows Server 2012 4592 /// </summary> 4593 WINDOWS_SERVER_8 = 2710, 4594 4595 /// <summary> 4596 /// Windows 8.1 4597 /// </summary> 4598 WINDOWS_81 = 2701, 4599 4600 /// <summary> 4601 /// Windows Server 2012 R2 4602 /// </summary> 4603 WINDOWS_SERVER_81 = 2711, 4604 4605 /// <summary> 4606 /// Windows 10 4607 /// </summary> 4608 WINDOWS_10 = 2702, 4609 4610 /// <summary> 4611 /// Windows Server 10 4612 /// </summary> 4613 WINDOWS_SERVER_10 = 2712, 4614 4615 /// <summary> 4616 /// Windows 11 or later 4617 /// </summary> 4618 WINDOWS_11 = 2800, 4619 4620 /// <summary> 4621 /// Windows Server 11 or later 4622 /// </summary> 4623 WINDOWS_SERVER_11 = 2810, 4624 4625 /// <summary> 4626 /// Unknown UNIX 4627 /// </summary> 4628 UNIX_UNKNOWN = 3000, 4629 4630 /// <summary> 4631 /// Linux 4632 /// </summary> 4633 LINUX = 3100, 4634 4635 /// <summary> 4636 /// Solaris 4637 /// </summary> 4638 SOLARIS = 3200, 4639 4640 /// <summary> 4641 /// Cygwin 4642 /// </summary> 4643 CYGWIN = 3300, 4644 4645 /// <summary> 4646 /// BSD 4647 /// </summary> 4648 BSD = 3400, 4649 4650 /// <summary> 4651 /// MacOS X 4652 /// </summary> 4653 MACOS_X = 3500, 4654 } 4655 4656 /// <summary> 4657 /// VPN Server Information 4658 /// </summary> 4659 public class VpnRpcServerInfo 4660 { 4661 /// <summary> 4662 /// Server product name 4663 /// </summary> 4664 public string ServerProductName_str; 4665 4666 /// <summary> 4667 /// Server version string 4668 /// </summary> 4669 public string ServerVersionString_str; 4670 4671 /// <summary> 4672 /// Server build information string 4673 /// </summary> 4674 public string ServerBuildInfoString_str; 4675 4676 /// <summary> 4677 /// Server version integer value 4678 /// </summary> 4679 public uint ServerVerInt_u32; 4680 4681 /// <summary> 4682 /// Server build number integer value 4683 /// </summary> 4684 public uint ServerBuildInt_u32; 4685 4686 /// <summary> 4687 /// Server host name 4688 /// </summary> 4689 public string ServerHostName_str; 4690 4691 /// <summary> 4692 /// Type of server 4693 /// </summary> 4694 public VpnRpcServerType ServerType_u32; 4695 4696 /// <summary> 4697 /// Build date and time of the server 4698 /// </summary> 4699 public DateTime ServerBuildDate_dt; 4700 4701 /// <summary> 4702 /// Family name 4703 /// </summary> 4704 public string ServerFamilyName_str; 4705 4706 /// <summary> 4707 /// OS type 4708 /// </summary> 4709 public VpnRpcOsType OsType_u32; 4710 4711 /// <summary> 4712 /// Service pack number 4713 /// </summary> 4714 public uint OsServicePack_u32; 4715 4716 /// <summary> 4717 /// OS system name 4718 /// </summary> 4719 public string OsSystemName_str; 4720 4721 /// <summary> 4722 /// OS product name 4723 /// </summary> 4724 public string OsProductName_str; 4725 4726 /// <summary> 4727 /// OS vendor name 4728 /// </summary> 4729 public string OsVendorName_str; 4730 4731 /// <summary> 4732 /// OS version 4733 /// </summary> 4734 public string OsVersion_str; 4735 4736 /// <summary> 4737 /// Kernel name 4738 /// </summary> 4739 public string KernelName_str; 4740 4741 /// <summary> 4742 /// Kernel version 4743 /// </summary> 4744 public string KernelVersion_str; 4745 } 4746 4747 /// <summary> 4748 /// Server status 4749 /// </summary> 4750 public class VpnRpcServerStatus 4751 { 4752 /// <summary> 4753 /// Type of server 4754 /// </summary> 4755 public VpnRpcServerType ServerType_u32; 4756 4757 /// <summary> 4758 /// Total number of TCP connections 4759 /// </summary> 4760 public uint NumTcpConnections_u32; 4761 4762 /// <summary> 4763 /// Number of Local TCP connections 4764 /// </summary> 4765 public uint NumTcpConnectionsLocal_u32; 4766 4767 /// <summary> 4768 /// Number of remote TCP connections 4769 /// </summary> 4770 public uint NumTcpConnectionsRemote_u32; 4771 4772 /// <summary> 4773 /// Total number of HUBs 4774 /// </summary> 4775 public uint NumHubTotal_u32; 4776 4777 /// <summary> 4778 /// Nymber of stand-alone HUB 4779 /// </summary> 4780 public uint NumHubStandalone_u32; 4781 4782 /// <summary> 4783 /// Number of static HUBs 4784 /// </summary> 4785 public uint NumHubStatic_u32; 4786 4787 /// <summary> 4788 /// Number of Dynamic HUBs 4789 /// </summary> 4790 public uint NumHubDynamic_u32; 4791 4792 /// <summary> 4793 /// Total number of sessions 4794 /// </summary> 4795 public uint NumSessionsTotal_u32; 4796 4797 /// <summary> 4798 /// Number of local VPN sessions 4799 /// </summary> 4800 public uint NumSessionsLocal_u32; 4801 4802 /// <summary> 4803 /// The number of remote sessions 4804 /// </summary> 4805 public uint NumSessionsRemote_u32; 4806 4807 /// <summary> 4808 /// Number of MAC table entries (total sum of all Virtual Hubs) 4809 /// </summary> 4810 public uint NumMacTables_u32; 4811 4812 /// <summary> 4813 /// Number of IP table entries (total sum of all Virtual Hubs) 4814 /// </summary> 4815 public uint NumIpTables_u32; 4816 4817 /// <summary> 4818 /// Number of users (total sum of all Virtual Hubs) 4819 /// </summary> 4820 public uint NumUsers_u32; 4821 4822 /// <summary> 4823 /// Number of groups (total sum of all Virtual Hubs) 4824 /// </summary> 4825 public uint NumGroups_u32; 4826 4827 /// <summary> 4828 /// Number of assigned bridge licenses (Useful to make a commercial version) 4829 /// </summary> 4830 public uint AssignedBridgeLicenses_u32; 4831 4832 /// <summary> 4833 /// Number of assigned client licenses (Useful to make a commercial version) 4834 /// </summary> 4835 public uint AssignedClientLicenses_u32; 4836 4837 /// <summary> 4838 /// Number of Assigned bridge license (cluster-wide), useful to make a commercial version 4839 /// </summary> 4840 public uint AssignedBridgeLicensesTotal_u32; 4841 4842 /// <summary> 4843 /// Number of assigned client licenses (cluster-wide), useful to make a commercial version 4844 /// </summary> 4845 public uint AssignedClientLicensesTotal_u32; 4846 4847 /// <summary> 4848 /// Number of broadcast packets (Recv) 4849 /// </summary> 4850 [JsonProperty("Recv.BroadcastBytes_u64")] 4851 public ulong Recv_BroadcastBytes_u64; 4852 4853 /// <summary> 4854 /// Broadcast bytes (Recv) 4855 /// </summary> 4856 [JsonProperty("Recv.BroadcastCount_u64")] 4857 public ulong Recv_BroadcastCount_u64; 4858 4859 /// <summary> 4860 /// Unicast count (Recv) 4861 /// </summary> 4862 [JsonProperty("Recv.UnicastBytes_u64")] 4863 public ulong Recv_UnicastBytes_u64; 4864 4865 /// <summary> 4866 /// Unicast bytes (Recv) 4867 /// </summary> 4868 [JsonProperty("Recv.UnicastCount_u64")] 4869 public ulong Recv_UnicastCount_u64; 4870 4871 /// <summary> 4872 /// Number of broadcast packets (Send) 4873 /// </summary> 4874 [JsonProperty("Send.BroadcastBytes_u64")] 4875 public ulong Send_BroadcastBytes_u64; 4876 4877 /// <summary> 4878 /// Broadcast bytes (Send) 4879 /// </summary> 4880 [JsonProperty("Send.BroadcastCount_u64")] 4881 public ulong Send_BroadcastCount_u64; 4882 4883 /// <summary> 4884 /// Unicast bytes (Send) 4885 /// </summary> 4886 [JsonProperty("Send.UnicastBytes_u64")] 4887 public ulong Send_UnicastBytes_u64; 4888 4889 /// <summary> 4890 /// Unicast bytes (Send) 4891 /// </summary> 4892 [JsonProperty("Send.UnicastCount_u64")] 4893 public ulong Send_UnicastCount_u64; 4894 4895 /// <summary> 4896 /// Current time 4897 /// </summary> 4898 public DateTime CurrentTime_dt; 4899 4900 /// <summary> 4901 /// 64 bit High-Precision Logical System Clock 4902 /// </summary> 4903 public ulong CurrentTick_u64; 4904 4905 /// <summary> 4906 /// VPN Server Start-up time 4907 /// </summary> 4908 public DateTime StartTime_dt; 4909 4910 /// <summary> 4911 /// Memory information: Total Memory 4912 /// </summary> 4913 public ulong TotalMemory_u64; 4914 4915 /// <summary> 4916 /// Memory information: Used Memory 4917 /// </summary> 4918 public ulong UsedMemory_u64; 4919 4920 /// <summary> 4921 /// Memory information: Free Memory 4922 /// </summary> 4923 public ulong FreeMemory_u64; 4924 4925 /// <summary> 4926 /// Memory information: Total Phys 4927 /// </summary> 4928 public ulong TotalPhys_u64; 4929 4930 /// <summary> 4931 /// Memory information: Used Phys 4932 /// </summary> 4933 public ulong UsedPhys_u64; 4934 4935 /// <summary> 4936 /// Memory information: Free Phys 4937 /// </summary> 4938 public ulong FreePhys_u64; 4939 } 4940 4941 /// <summary> 4942 /// VPN Session status 4943 /// </summary> 4944 public class VpnRpcSessionStatus 4945 { 4946 /// <summary> 4947 /// The Virtual Hub name 4948 /// </summary> 4949 public string HubName_str; 4950 4951 /// <summary> 4952 /// VPN session name 4953 /// </summary> 4954 public string Name_str; 4955 4956 /// <summary> 4957 /// User name 4958 /// </summary> 4959 public string Username_str; 4960 4961 /// <summary> 4962 /// Real user name which was used for the authentication 4963 /// </summary> 4964 public string RealUsername_str; 4965 4966 /// <summary> 4967 /// Group name 4968 /// </summary> 4969 public string GroupName_str; 4970 4971 /// <summary> 4972 /// Is Cascade Session 4973 /// </summary> 4974 public bool LinkMode_bool; 4975 4976 /// <summary> 4977 /// Client IP address 4978 /// </summary> 4979 public string Client_Ip_Address_ip; 4980 4981 /// <summary> 4982 /// Client host name 4983 /// </summary> 4984 [JsonProperty("SessionStatus_ClientHostName_str")] 4985 public string ClientHostName_str; 4986 4987 /// <summary> 4988 /// Operation flag 4989 /// </summary> 4990 public bool Active_bool; 4991 4992 /// <summary> 4993 /// Connected flag 4994 /// </summary> 4995 public bool Connected_bool; 4996 4997 /// <summary> 4998 /// State of the client session 4999 /// </summary> 5000 public VpnRpcClientSessionStatus SessionStatus_u32; 5001 5002 /// <summary> 5003 /// Server name 5004 /// </summary> 5005 public string ServerName_str; 5006 5007 /// <summary> 5008 /// Port number of the server 5009 /// </summary> 5010 public uint ServerPort_u32; 5011 5012 /// <summary> 5013 /// Server product name 5014 /// </summary> 5015 public string ServerProductName_str; 5016 5017 /// <summary> 5018 /// Server product version 5019 /// </summary> 5020 public uint ServerProductVer_u32; 5021 5022 /// <summary> 5023 /// Server product build number 5024 /// </summary> 5025 public uint ServerProductBuild_u32; 5026 5027 /// <summary> 5028 /// Connection start time 5029 /// </summary> 5030 public DateTime StartTime_dt; 5031 5032 /// <summary> 5033 /// Connection completion time of the first connection 5034 /// </summary> 5035 public DateTime FirstConnectionEstablisiedTime_dt; 5036 5037 /// <summary> 5038 /// Connection completion time of this connection 5039 /// </summary> 5040 public DateTime CurrentConnectionEstablishTime_dt; 5041 5042 /// <summary> 5043 /// Number of connections have been established so far 5044 /// </summary> 5045 public uint NumConnectionsEatablished_u32; 5046 5047 /// <summary> 5048 /// Half-connection 5049 /// </summary> 5050 public bool HalfConnection_bool; 5051 5052 /// <summary> 5053 /// VoIP / QoS 5054 /// </summary> 5055 public bool QoS_bool; 5056 5057 /// <summary> 5058 /// Maximum number of the underlying TCP connections 5059 /// </summary> 5060 public uint MaxTcpConnections_u32; 5061 5062 /// <summary> 5063 /// Number of current underlying TCP connections 5064 /// </summary> 5065 public uint NumTcpConnections_u32; 5066 5067 /// <summary> 5068 /// Number of inbound underlying connections 5069 /// </summary> 5070 public uint NumTcpConnectionsUpload_u32; 5071 5072 /// <summary> 5073 /// Number of outbound underlying connections 5074 /// </summary> 5075 public uint NumTcpConnectionsDownload_u32; 5076 5077 /// <summary> 5078 /// Use of encryption 5079 /// </summary> 5080 public bool UseEncrypt_bool; 5081 5082 /// <summary> 5083 /// Cipher algorithm name 5084 /// </summary> 5085 public string CipherName_str; 5086 5087 /// <summary> 5088 /// Use of compression 5089 /// </summary> 5090 public bool UseCompress_bool; 5091 5092 /// <summary> 5093 /// Is R-UDP session 5094 /// </summary> 5095 public bool IsRUDPSession_bool; 5096 5097 /// <summary> 5098 /// Physical underlying communication protocol 5099 /// </summary> 5100 public string UnderlayProtocol_str; 5101 5102 /// <summary> 5103 /// The UDP acceleration is enabled 5104 /// </summary> 5105 public bool IsUdpAccelerationEnabled_bool; 5106 5107 /// <summary> 5108 /// Using the UDP acceleration function 5109 /// </summary> 5110 public bool IsUsingUdpAcceleration_bool; 5111 5112 /// <summary> 5113 /// VPN session name 5114 /// </summary> 5115 public string SessionName_str; 5116 5117 /// <summary> 5118 /// Connection name 5119 /// </summary> 5120 public string ConnectionName_str; 5121 5122 /// <summary> 5123 /// Session key 5124 /// </summary> 5125 public byte[] SessionKey_bin; 5126 5127 /// <summary> 5128 /// Total transmitted data size 5129 /// </summary> 5130 public ulong TotalSendSize_u64; 5131 5132 /// <summary> 5133 /// Total received data size 5134 /// </summary> 5135 public ulong TotalRecvSize_u64; 5136 5137 /// <summary> 5138 /// Total transmitted data size (no compression) 5139 /// </summary> 5140 public ulong TotalSendSizeReal_u64; 5141 5142 /// <summary> 5143 /// Total received data size (no compression) 5144 /// </summary> 5145 public ulong TotalRecvSizeReal_u64; 5146 5147 /// <summary> 5148 /// Is Bridge Mode 5149 /// </summary> 5150 public bool IsBridgeMode_bool; 5151 5152 /// <summary> 5153 /// Is Monitor mode 5154 /// </summary> 5155 public bool IsMonitorMode_bool; 5156 5157 /// <summary> 5158 /// VLAN ID 5159 /// </summary> 5160 public uint VLanId_u32; 5161 5162 /// <summary> 5163 /// Client product name 5164 /// </summary> 5165 public string ClientProductName_str; 5166 5167 /// <summary> 5168 /// Client version 5169 /// </summary> 5170 public uint ClientProductVer_u32; 5171 5172 /// <summary> 5173 /// Client build number 5174 /// </summary> 5175 public uint ClientProductBuild_u32; 5176 5177 /// <summary> 5178 /// Client OS name 5179 /// </summary> 5180 public string ClientOsName_str; 5181 5182 /// <summary> 5183 /// Client OS version 5184 /// </summary> 5185 public string ClientOsVer_str; 5186 5187 /// <summary> 5188 /// Client OS Product ID 5189 /// </summary> 5190 public string ClientOsProductId_str; 5191 5192 /// <summary> 5193 /// Client host name 5194 /// </summary> 5195 public string ClientHostname_str; 5196 5197 /// <summary> 5198 /// Unique ID 5199 /// </summary> 5200 public byte[] UniqueId_bin; 5201 } 5202 5203 /// <summary> 5204 /// Set the special listener 5205 /// </summary> 5206 public class VpnRpcSpecialListener 5207 { 5208 /// <summary> 5209 /// The flag to activate the VPN over ICMP server function 5210 /// </summary> 5211 public bool VpnOverIcmpListener_bool; 5212 5213 /// <summary> 5214 /// The flag to activate the VPN over DNS function 5215 /// </summary> 5216 public bool VpnOverDnsListener_bool; 5217 } 5218 5219 /// <summary> 5220 /// Syslog configuration 5221 /// </summary> 5222 public enum VpnSyslogSaveType 5223 { 5224 /// <summary> 5225 /// Do not use syslog 5226 /// </summary> 5227 None = 0, 5228 5229 /// <summary> 5230 /// Only server log 5231 /// </summary> 5232 ServerLog = 1, 5233 5234 /// <summary> 5235 /// Server and Virtual HUB security log 5236 /// </summary> 5237 ServerAndHubSecurityLog = 2, 5238 5239 /// <summary> 5240 /// Server, Virtual HUB security, and packet log 5241 /// </summary> 5242 ServerAndHubAllLog = 3, 5243 } 5244 5245 /// <summary> 5246 /// Syslog configuration 5247 /// </summary> 5248 public class VpnSyslogSetting 5249 { 5250 /// <summary> 5251 /// The behavior of the syslog function 5252 /// </summary> 5253 public VpnSyslogSaveType SaveType_u32; 5254 5255 /// <summary> 5256 /// Specify the host name or IP address of the syslog server 5257 /// </summary> 5258 public string Hostname_str; 5259 5260 /// <summary> 5261 /// Specify the port number of the syslog server 5262 /// </summary> 5263 public uint Port_u32; 5264 } 5265 5266 /// <summary> 5267 /// VPN Gate Server Config 5268 /// </summary> 5269 public class VpnVgsConfig 5270 { 5271 /// <summary> 5272 /// Active flag 5273 /// </summary> 5274 public bool IsEnabled_bool; 5275 5276 /// <summary> 5277 /// Message 5278 /// </summary> 5279 public string Message_utf; 5280 5281 /// <summary> 5282 /// Owner name 5283 /// </summary> 5284 public string Owner_utf; 5285 5286 /// <summary> 5287 /// Abuse email 5288 /// </summary> 5289 public string Abuse_utf; 5290 5291 /// <summary> 5292 /// Log save flag 5293 /// </summary> 5294 public bool NoLog_bool; 5295 5296 /// <summary> 5297 /// Save log permanently 5298 /// </summary> 5299 public bool LogPermanent_bool; 5300 5301 /// <summary> 5302 /// Enable the L2TP VPN function 5303 /// </summary> 5304 public bool EnableL2TP_bool; 5305 } 5306 5307 /// <summary> 5308 /// Read a Log file 5309 /// </summary> 5310 public class VpnRpcReadLogFile 5311 { 5312 /// <summary> 5313 /// Server name 5314 /// </summary> 5315 public string ServerName_str; 5316 5317 /// <summary> 5318 /// File Path 5319 /// </summary> 5320 public string FilePath_str; 5321 5322 /// <summary> 5323 /// Offset to download. You have to call the ReadLogFile API multiple times to download the entire log file with requesting a part of the file by specifying the Offset_u32 field. 5324 /// </summary> 5325 public uint Offset_u32; 5326 5327 /// <summary> 5328 /// Received buffer 5329 /// </summary> 5330 public byte[] Buffer_bin; 5331 } 5332 5333 /// <summary> 5334 /// Rename link 5335 /// </summary> 5336 public class VpnRpcRenameLink 5337 { 5338 /// <summary> 5339 /// The Virtual Hub name 5340 /// </summary> 5341 public string HubName_str; 5342 5343 /// <summary> 5344 /// The old name of the cascade connection 5345 /// </summary> 5346 public string OldAccountName_utf; 5347 5348 /// <summary> 5349 /// The new name of the cascade connection 5350 /// </summary> 5351 public string NewAccountName_utf; 5352 } 5353 5354 /// <summary> 5355 /// Online or offline the HUB 5356 /// </summary> 5357 public class VpnRpcSetHubOnline 5358 { 5359 /// <summary> 5360 /// The Virtual Hub name 5361 /// </summary> 5362 public string HubName_str; 5363 5364 /// <summary> 5365 /// Online / offline flag 5366 /// </summary> 5367 public bool Online_bool; 5368 } 5369 5370 /// <summary> 5371 /// Set Password 5372 /// </summary> 5373 public class VpnRpcSetPassword 5374 { 5375 /// <summary> 5376 /// The plaintext password 5377 /// </summary> 5378 public string PlainTextPassword_str; 5379 } 5380 5381 } 5382