HSAdmin Backend Domains, E-Mail, Datenbanken
416e5a9101d308b5cd12bc2b252c1c0135328543..c5fc07024cca407533765e96258663b6c45e6173
2023-03-06 Peter Hormanns
provide ip gateway
c5fc07 diff | tree
2023-03-06 Peter Hormanns
find public interface in /sys/class/net
ced1f7 diff | tree
2023-03-06 Peter Hormanns
update hsadmin util
26fe64 diff | tree
2023-03-06 Peter Hormanns
add gateway information to IPv6Trick
5c2f77 diff | tree
1 files added
1 files deleted
7 files modified
75 ■■■■ changed files
hsarback/.classpath 2 ●●● patch | view | raw | blame | history
hsarback/lib/hsadmin-util-4.0.4-SNAPSHOT.jar patch | view | raw | blame | history
hsarback/lib/hsadmin-util-4.0.5.jar patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/pac/INetAddress.java 8 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java 8 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/pillar/JsonPillarServlet.java 11 ●●●● patch | view | raw | blame | history
util/.gitignore 4 ●●●● patch | view | raw | blame | history
util/pom.xml 2 ●●● patch | view | raw | blame | history
util/src/main/java/de/hsadmin/core/util/IPv6Trick.java 40 ●●●●● patch | view | raw | blame | history
hsarback/.classpath
@@ -37,6 +37,6 @@
    <classpathentry kind="lib" path="lib/org.apache.bval.bundle-0.5.jar"/>
    <classpathentry kind="lib" path="lib/serp-1.15.1.jar"/>
    <classpathentry kind="lib" path="lib/xbean-asm6-shaded-4.8.jar"/>
    <classpathentry kind="lib" path="lib/hsadmin-util-4.0.4-SNAPSHOT.jar"/>
    <classpathentry kind="lib" path="lib/hsadmin-util-4.0.5.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>
hsarback/lib/hsadmin-util-4.0.4-SNAPSHOT.jar
Binary files differ
hsarback/lib/hsadmin-util-4.0.5.jar
Binary files differ
hsarback/src/de/hsadmin/mods/pac/INetAddress.java
@@ -73,10 +73,18 @@
        return name;
    }
    public String getInet4Gateway() throws HSAdminException {
        return IPv6Trick.IPv4Gateway(name);
    }
    public String getInet6Addr() throws HSAdminException {
        return IPv6Trick.convertIPv4ToIPv6(name);
    }
    public String getInet6Gateway() throws HSAdminException {
        return IPv6Trick.IPv6Gateway(name);
    }
    public void setInetAddr(String inetAddr) {
        this.name = inetAddr;
    }
hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java
@@ -238,11 +238,11 @@
        return new CompoundProcessor(
            new ShellProcessor("ip addr add "
                + pac.getCurINetAddr().getInet4Addr()
                + "/32 dev eth0"
                + "/32 dev $( ls /sys/class/net/ | egrep -o '(eth0|pub)' )"
            ),
            new ShellProcessor("ip addr add "
                + pac.getCurINetAddr().getInet6Addr()
                + "/128 dev eth0 noprefixroute preferred_lft 0"
                + "/128 dev $( ls /sys/class/net/ | egrep -o '(eth0|pub)' ) noprefixroute preferred_lft 0"
            )
        );
    }
@@ -251,11 +251,11 @@
        return new CompoundProcessor(
            new ShellProcessor("ip addr del "
                + pac.getCurINetAddr().getInet4Addr()
                + "/32 dev eth0"
                + "/32 dev $( ls /sys/class/net/ | egrep -o '(eth0|pub)' )"
            ),
            new ShellProcessor("ip addr del "
                + pac.getCurINetAddr().getInet6Addr()
                + "/128 dev eth0 noprefixroute preferred_lft 0"
                + "/128 dev $( ls /sys/class/net/ | egrep -o '(eth0|pub)' ) noprefixroute preferred_lft 0"
            )
        );
    }
hsarback/src/de/hsadmin/pillar/JsonPillarServlet.java
@@ -76,9 +76,16 @@
        final PrintWriter writer = resp.getWriter();
        writer.println("{");
        writer.println("  \"hivename\": \"" + hive.getHiveName() + "\"");
        writer.println("  , \"hiveipv4\": \"" + hive.getInetAddr().getInet4Addr() + "\"");
        final INetAddress inetAddr = hive.getInetAddr();
        writer.println("  , \"hiveipv4\": \"" + inetAddr.getInet4Addr() + "\"");
        try {
            writer.println("  , \"hiveipv6\": \"" + hive.getInetAddr().getInet6Addr() + "\"");
            writer.println("  , \"hiveipv4gateway\": \"" + inetAddr.getInet4Gateway() + "\"");
        } catch (HSAdminException e) {
            // dont care
        }
        try {
            writer.println("  , \"hiveipv6\": \"" + inetAddr.getInet6Addr() + "\"");
            writer.println("  , \"hiveipv6gateway\": \"" + inetAddr.getInet6Gateway() + "\"");
        } catch (HSAdminException e) {
            // dont care
        }
util/.gitignore
@@ -1,3 +1,7 @@
/build
/target
/bin
.classpath
.project
.settings/
util/pom.xml
@@ -4,7 +4,7 @@
    <modelVersion>4.0.0</modelVersion>
    <groupId>de.hsadmin.core</groupId>
    <artifactId>hsadmin-util</artifactId>
    <version>4.0.4-SNAPSHOT</version>
    <version>4.0.5</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
util/src/main/java/de/hsadmin/core/util/IPv6Trick.java
@@ -44,6 +44,46 @@
        throw new HSAdminException("unknown IPv4 address given");
    }
    public static String IPv4Gateway (final String ipv4address) throws HSAdminException {
        if (ipv4address == null || ipv4address.length() == 0) {
            throw new HSAdminException("no IPv4 address given");
        }
         try {
             final InetAddress inetV4Address = InetAddress.getByName(ipv4address);
             final String inetV4AddressString = inetV4Address.getHostAddress();
            if (inetV4AddressString.startsWith(IPv4_83_223_78)) return IPv4_83_223_78 + ".1";
            if (inetV4AddressString.startsWith(IPv4_83_223_79)) return IPv4_83_223_79 + ".1";
            if (inetV4AddressString.startsWith(IPv4_83_223_91)) return IPv4_83_223_91 + ".1";
            if (inetV4AddressString.startsWith(IPv4_83_223_94)) return IPv4_83_223_94 + ".1";
            if (inetV4AddressString.startsWith(IPv4_83_223_95)) return IPv4_83_223_95 + ".1";
            throw new HSAdminException("unknown IPv4 address given");
        } catch (UnknownHostException e) {
            throw new HSAdminException(e);
        }
    }
    public static String IPv6Gateway (final String ipv4address) throws HSAdminException {
        if (ipv4address == null || ipv4address.length() == 0) {
            throw new HSAdminException("no IPv4 address given");
        }
         try {
             final InetAddress inetV4Address = InetAddress.getByName(ipv4address);
             final String inetV4AddressString = inetV4Address.getHostAddress();
            if (inetV4AddressString.startsWith(IPv4_83_223_79)             // Alboin-Kontor Berlin
                    || inetV4AddressString.startsWith(IPv4_83_223_91)
                    || inetV4AddressString.startsWith(IPv4_83_223_95) ) {
                return IPv6_PREFIX_AK;
            }
            if (inetV4AddressString.startsWith(IPv4_83_223_78)             // e-Shelter Berlin
                    || inetV4AddressString.startsWith(IPv4_83_223_94) ) {
                return IPv6_PREFIX_ES;
            }
        } catch (UnknownHostException e) {
            throw new HSAdminException(e);
        }
        throw new HSAdminException("unknown IPv4 address given");
    }
    public static boolean isKnownRemote(final String remoteAddress) {
        boolean isKnown = false;
        if (remoteAddress.startsWith(IPv4_LOCALHOST) || remoteAddress.startsWith(IPv6_LOCALHOST) || remoteAddress.startsWith(IPv6_LOCALHOST_ALT)) {