Skip to content

Instantly share code, notes, and snippets.

@barisbalic
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barisbalic/e3dd21cbaa66b25a6e96 to your computer and use it in GitHub Desktop.
Save barisbalic/e3dd21cbaa66b25a6e96 to your computer and use it in GitHub Desktop.
An example of a decompiled Java class.
package com.ubnt.oOOO.OoOO;
import com.A.oOOO.F;
import com.ubnt.ace.E;
import com.ubnt.data.Device;
import com.ubnt.data.Setting;
import com.ubnt.data.WlanConf;
import com.ubnt.data.WlanGroup;
import com.ubnt.data.X;
import com.ubnt.oOOO.C;
import com.ubnt.oOOO.E.o0OO;
import com.ubnt.oOOO.oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;
import com.ubnt.oOOO.ooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.D;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
public class String extends ooOO
{
boolean jdField_void;
boolean Ö00000;
public String(D paramD, com.ubnt.oOOO.ooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.Object paramObject, B paramB, o paramo)
{
super(paramD, paramObject, paramB);
this.Ö00000 = (paramo == o.Ó00000);
this.jdField_void = (paramo == o.Ò00000);
}
java.lang.String jdMethod_super(java.lang.String paramString1, java.lang.String paramString2)
{
return jdMethod_super(paramString1 + "." + paramString2);
}
java.lang.String jdMethod_super(java.lang.String paramString, Device paramDevice, X paramX)
{
java.lang.String str = paramDevice.getString("mac").replace(":", "").toLowerCase();
return java.lang.String.format("config.%s.%s.%s", new java.lang.Object[] { paramString, str, paramX.getString("radio", "ng") });
}
void jdMethod_super(StringBuffer paramStringBuffer, Device paramDevice, oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO, List<X> paramList1, List<java.lang.String> paramList, Set<Integer> paramSet, List<X> paramList2)
{
java.lang.String str1 = paramDevice.getString("site_id");
boolean bool1 = false;
java.lang.String str2 = paramDevice.getString("mac");
java.lang.String str3 = str2.replace(":", "").toLowerCase();
Setting localSetting1 = this.Ò00000.jdMethod_new("country", str1);
java.lang.String str4 = localSetting1.getString("code", "840");
List localList1 = paramDevice.getList("radio_table", X.Ò00000);
Setting localSetting2 = this.Ò00000.jdMethod_new("connectivity", str1);
int i = (paramDevice.supportVwire()) && (localSetting2.is("enabled", true)) ? 1 : 0;
jdMethod_super(paramStringBuffer, "# wlans (radio)", new java.lang.String[0]);
if (localList1.size() > 0)
{
jdMethod_super(paramStringBuffer, "radio.status", new java.lang.String[] { "enabled" });
jdMethod_super(paramStringBuffer, "radio.countrycode", new java.lang.String[] { str4 });
jdMethod_super(paramStringBuffer, "aaa.status", new java.lang.String[] { "enabled" });
jdMethod_super(paramStringBuffer, "wireless.status", new java.lang.String[] { "enabled" });
ArrayList localArrayList1 = new ArrayList();
java.lang.String str5 = paramDevice.getRadioNA() != null ? "na" : "ng";
X[] arrayOfX1 = { paramDevice.getRadioNA(), paramDevice.getRadioNG() };
int j = 0;
int k = 0;
X localX1;
java.lang.String str7;
java.lang.Object localObject1;
java.lang.String str9;
boolean bool3;
int i6;
java.lang.Object localObject4;
java.lang.Object localObject5;
for (localX1 : arrayOfX1)
{
int i2 = 0;
if (localX1 != null)
{
str7 = localX1.getString("radio", "ng");
localObject1 = (WlanGroup)this.Ò00000.o00000(WlanGroup.class, new X(new java.lang.Object[] { "site_id", str1, "attr_hidden_id", WlanGroup.Òo0000 }));
java.lang.Object localObject2 = (WlanGroup)this.Ò00000.o00000(WlanGroup.class, str1, paramDevice.getString("wlangroup_id_" + str7, ((WlanGroup)localObject1).getString("_id")));
if (localObject2 == null)
localObject2 = localObject1;
List localList2 = this.Ò00000.jdMethod_new(WlanConf.class, new X(new java.lang.Object[] { "site_id", str1, "wlangroup_id", ((WlanGroup)localObject2).getString("_id") }));
str9 = ((WlanGroup)localObject2).is("roam_enabled", false);
int i4 = (str9 == 0) && (((WlanGroup)localObject2).is("loadbalance_enabled", false)) ? 1 : 0;
int i5 = 0;
bool3 = str7.equals(str5);
i6 = (i != 0) && (bool3) && (str9 == 0) ? 1 : 0;
java.lang.Object localObject3;
if (i6 != 0)
{
localObject3 = new WlanConf();
((WlanConf)localObject3).put("name", "vport-" + paramDevice.getString("serial"));
((WlanConf)localObject3).put("is_wds_uplink", Boolean.valueOf(true));
((WlanConf)localObject3).put("hide_ssid", Boolean.valueOf(true));
((WlanConf)localObject3).put("radio", str7);
localList2.add(0, localObject3);
}
if ((i != 0) && (str9 == 0))
{
localObject3 = X.find(paramDevice.getList("vwire_table", X.Ò00000), new java.lang.String[] { "radio", str7 });
if (!((List)localObject3).isEmpty())
{
java.lang.String str13 = paramDevice.getString("x_vwirekey");
if (str13 == null)
{
str13 = E.o00000("0123456789abcdef", 32);
paramDevice.put("x_vwirekey", str13);
this.Ò00000.o00000(paramDevice, new X(new java.lang.Object[] { "$set", new X(new java.lang.Object[] { "x_vwirekey", str13 }) }), false, true);
}
localObject4 = new WlanConf();
((WlanConf)localObject4).put("name", "vwire-" + paramDevice.getString("serial"));
((WlanConf)localObject4).put("security", "wpapsk");
((WlanConf)localObject4).put("wpa_mode", "wpa2");
((WlanConf)localObject4).put("wpa_enc", "ccmp");
((WlanConf)localObject4).put("is_wds_downlink", Boolean.valueOf(true));
((WlanConf)localObject4).put("hide_ssid", Boolean.valueOf(true));
((WlanConf)localObject4).put("x_passphrase", str13);
str15 = E.o00000("0123456789abcdef", 32);
localObject5 = new java.lang.String(str15);
str16 = "";
ArrayList localArrayList2 = new ArrayList();
java.lang.Object localObject6 = ((List)localObject3).iterator();
while (((Iterator)localObject6).hasNext())
{
localObject7 = (X)((Iterator)localObject6).next();
localObject8 = C.Ó00000().jdMethod_super(str1, ((X)localObject7).getString("ap_mac"));
if (localObject8 != null)
{
localObject5 = (java.lang.String)localObject5 + E.jdMethod_class(((Device)localObject8).getString("mac")).replaceAll(":", "").toLowerCase();
localObject5 = (java.lang.String)localObject5 + F.Ò00000(E.o00000(F.Ò00000(str13), 16, F.Ò00000(((Device)localObject8).getString("x_authkey", "ba86f2bbe107c7c57eb5f2690775c712")), F.Ò00000(str15)));
localArrayList2.add(new X(new java.lang.Object[] { "peer_mac", E.jdMethod_class(((Device)localObject8).getString("mac")) }));
str16 = str16 + ((Device)localObject8).getString("mac") + " ";
}
}
localObject6 = new java.lang.String((java.lang.String)localObject5);
localObject6 = (java.lang.String)localObject6 + "ffffffffffff";
localObject6 = (java.lang.String)localObject6 + F.Ò00000(E.o00000(F.Ò00000(str13), 16, F.Ò00000("ba86f2bbe107c7c57eb5f2690775c712"), F.Ò00000(str15)));
java.lang.Object localObject7 = E.Ó00000("UniFi" + str13.toLowerCase());
((WlanConf)localObject4).put("vwirepayload", (java.lang.String)localObject5 + (java.lang.String)localObject7);
((WlanConf)localObject4).put("vwirepeers", str16);
((WlanConf)localObject4).put("vwirepayload_bcast", (java.lang.String)localObject6 + (java.lang.String)localObject7);
((WlanConf)localObject4).put("wep_idx", "4");
((WlanConf)localObject4).put("wds_peers", localArrayList2);
((WlanConf)localObject4).put("radio", str7);
if (localArrayList2.size() > 0)
{
localList2.add(localObject4);
i5 = 1;
}
}
}
k += 1;
boolean bool4 = localX1.getString("radio", "ng").equals("ng");
int i7 = localX1.getInt("antenna_gain", localX1.is("builtin_antenna", false) ? 0 : 6);
localObject4 = localX1.getString("tx_power_mode", "auto");
java.lang.String str15 = localX1.getString("tx_power", "auto");
localObject5 = localX1.getString("name", this.Ö00000 ? "wifi0" : "eth1");
java.lang.String str16 = str9;
if (str16 == 0);
int i9 = "40".equals(localX1.getString("ht", bool4 ? "20" : "40")) ? 1 : 0;
int i10 = (str16 == 0) && ("80".equals(localX1.getString("ht", "20"))) ? 1 : 0;
int i11 = 0;
java.lang.Object localObject8 = "11n" + (bool4 ? "g" : "a") + "ht" + (i9 != 0 ? "40" : i10 != 0 ? "80" : "20");
boolean bool5 = paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(jdMethod_super("ackauto", paramDevice, localX1), false);
int i12 = paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(jdMethod_super("acktimeout", paramDevice, localX1), 64);
boolean bool6 = str9 != 0 ? false : ((WlanGroup)localObject2).is("b_supported", false);
java.lang.String str17 = "12";
if (bool6)
str17 = "auto";
byte[] arrayOfByte = null;
java.lang.String str18 = null;
if (str9 != 0)
{
bool1 = true;
List localList3 = this.Ò00000.jdMethod_new(Device.class, new X(new java.lang.Object[] { "site_id", str1, "wlangroup_id_" + str7, ((WlanGroup)localObject2).getString("_id") }));
if (localList3.size() > 0)
{
Collections.sort(localList3, Ó00000);
arrayOfByte = E.o00000(E.jdMethod_class(((Device)localList3.get(0)).getString("mac")));
arrayOfByte[0] = ((byte)(bool4 ? 32 : 80));
str18 = E.o00000(arrayOfByte);
}
}
jdMethod_super(paramStringBuffer, "radio." + k, new java.lang.String[] { "phyname", localObject5, "ack.auto", bool5 ? "enabled" : "disabled", "acktimeout", java.lang.String.valueOf(i12), "ampdu.status", "enabled", "clksel", "1", "countrycode", str4, "cwm.enable", "0", "cwm.mode", i9 != 0 ? "1" : "0", "forbiasauto", "0", "channel", str9 != 0 ? ((WlanGroup)localObject2).getString("roam_channel_" + str7) : localX1.getString("channel", "0"), "ieee_mode", localObject8, "mode", i6 != 0 ? "managed" : "master", "rate.auto", "enabled", "rate.mcs", "auto", "ubntroam.status", str9 != 0 ? "enabled" : "disabled", "ubntroam.macaddr", str18, "bcmc_l2_filter.status", paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000("config.mcast_filter_enabled", true) ? "enabled" : "disabled", "bgscan.status", "disabled", "antenna.gain", Integer.toString(i7), "reg_obey", "custom".equals(localObject4) ? "disabled" : "enabled", "txpower_mode", localObject4, "txpower", str15 });
int i13 = paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(jdMethod_super("minrssi", paramDevice, localX1), 0);
int i14 = (str9 == 0) && (i13 > 0) ? 1 : 0;
if ((i14 | i4) != 0)
jdMethod_super(paramStringBuffer, "stamgr." + k, new java.lang.String[] { "status", "true", "radio", str7, "minrssi.status", i14 != 0 ? "true" : "false", "minrssi.rssi", Integer.toString(i13), "loadbalance.status", i4 != 0 ? "true" : "false", "loadbalance.maxsta", ((WlanGroup)localObject2).getString("maxsta") });
for (int i15 = 0; i15 < localList2.size(); i15++)
{
WlanConf localWlanConf2 = (WlanConf)((WlanConf)localList2.get(i15)).clone();
X localX2 = X.findOne(paramDevice.getList("wlan_overrides", X.Ò00000), new java.lang.String[] { "wlan_id", localWlanConf2.getString("_id", "unknown"), "radio", localX1.getString("radio") });
localWlanConf2.mergeFrom(localX2);
if (localWlanConf2.is("enabled", true))
{
java.lang.String str19 = "unknown";
java.lang.String str20 = i2 == 0 ? java.lang.String.format("radio.%d", new java.lang.Object[] { Integer.valueOf(k) }) : java.lang.String.format("radio.%d.virtual.%d", new java.lang.Object[] { Integer.valueOf(k), Integer.valueOf(i2) });
if (this.Ö00000)
str19 = localWlanConf2.is("is_wds_downlink", false) ? java.lang.String.format("vwire%d", new java.lang.Object[] { Integer.valueOf(j) }) : java.lang.String.format("ath%d", new java.lang.Object[] { Integer.valueOf(j) });
else if (this.jdField_void)
if (i2 == 0)
str19 = localX1.getString("name", (java.lang.String)localObject5);
else
str19 = java.lang.String.format("wl%d.%d", new java.lang.Object[] { Integer.valueOf("eth1".equals(localObject5) ? 0 : 1), Integer.valueOf(i2) });
i2 += 1;
jdMethod_super(paramStringBuffer, str20, new java.lang.String[] { "devname", str19, "status", "enabled" });
if ((localWlanConf2.is("is_wds_uplink", false)) || (localWlanConf2.is("is_wds_downlink", false)))
paramList.add(str19);
localWlanConf2.put("athdev", str19);
localWlanConf2.put("radio", localX1);
localWlanConf2.put("roam_enabled", Boolean.valueOf(str9));
localWlanConf2.put("b_supported", Boolean.valueOf(bool6));
localArrayList1.add(localWlanConf2);
super.trace(java.lang.String.format("%s=%s:%s", new java.lang.Object[] { str20, str19, localWlanConf2.toString() }));
if (this.Ö00000)
j += 1;
}
}
}
}
int m = 1;
for (??? = 0; ??? < localArrayList1.size(); ???++)
{
WlanConf localWlanConf1 = (WlanConf)localArrayList1.get(???);
localX1 = (X)localWlanConf1.get("radio");
java.lang.String str6 = "br0";
str7 = localWlanConf1.getString("athdev");
localObject1 = X.newInstanceWithoutNullValue(new java.lang.Object[] { "name", str7, "is_guest", localWlanConf1.get("is_guest"), "security", localWlanConf1.getString("security"), "priority", localWlanConf1.get("priority", "medium"), "is_wds_uplink", Boolean.valueOf(localWlanConf1.is("is_wds_uplink", false)), "is_wds_downlink", Boolean.valueOf(localWlanConf1.is("is_wds_downlink", false)), "usergroup_id", localWlanConf1.getString("usergroup_id") });
paramList1.add(localObject1);
boolean bool2 = localWlanConf1.is("vlan_enabled", false);
if (bool2)
{
int i3 = localWlanConf1.getInt("vlan", 2);
str6 = "br0." + i3;
jdMethod_super(paramList2, Integer.toString(i3), str7);
paramSet.add(Integer.valueOf(i3));
}
else
{
jdMethod_super(paramList2, "0", str7);
}
java.lang.String str8 = localWlanConf1.getString("security", "open");
str9 = localWlanConf1.is("roam_enabled", false);
java.lang.String str10 = str9 != 0 ? "wpa2" : localWlanConf1.getString("wpa_mode", "auto");
java.lang.String str11 = str9 != 0 ? "ccmp" : localWlanConf1.getString("wpa_enc", "auto");
bool3 = str8.equals("wep");
if ((str8.equals("open")) || (bool3))
{
jdMethod_super(paramStringBuffer, "aaa." + (??? + 1), new java.lang.String[] { "br.devname", str6, "devname", str7, "driver", "madwifi", "ssid", localWlanConf1.getString("name"), "status", "disabled" });
}
else
{
jdMethod_super(paramStringBuffer, "aaa." + (??? + 1), new java.lang.String[] { "br.devname", str6, "devname", str7, "driver", "madwifi", "ssid", localWlanConf1.getString("name"), "status", "enabled", "verbose", D.Òo0000() ? "3" : "2", "wpa", str10.equals("wpa2") ? "2" : str10.equals("wpa1") ? "1" : "3", "eapol_version", str10.equals("wpa1") ? "1" : "2", "wpa.group_rekey", "0", "wpa.1.pairwise", str11.equals("ccmp") ? "CCMP" : str11.equals("tkip") ? "TKIP" : "TKIP CCMP", "wpa.key.1.mgmt", "wpapsk".equals(str8) ? "WPA-PSK" : "WPA-EAP", "radius.auth.1.ip", localWlanConf1.getString("radius_ip_1", ""), "radius.auth.1.port", localWlanConf1.getString("radius_port_1", ""), "radius.auth.1.secret", localWlanConf1.getString("x_radius_secret_1", ""), "radius.acct.1.ip", localWlanConf1.getString("radius_ip_1", ""), "radius.acct.1.secret", localWlanConf1.getString("x_radius_secret_1", ""), "wpa.psk", localWlanConf1.getString("x_passphrase", "letmeinnow") });
if (this.Ö00000)
((X)localObject1).put("enabled_in_rc_start", Boolean.valueOf(false));
}
if (localWlanConf1.is("is_wds_uplink", false))
((X)localObject1).put("enabled_in_rc_start", Boolean.valueOf(false));
i6 = (localWlanConf1.is("is_wds_uplink", false)) || (localWlanConf1.is("is_wds_downlink", false)) ? 1 : 0;
java.lang.String str12 = localWlanConf1.getString("x_wep", null);
if (bool3)
{
if (str12 == null)
str12 = "wrong";
if ((str12.length() == 5) || (str12.length() == 13))
str12 = F.Ò00000(str12.getBytes());
}
java.lang.String str14 = localWlanConf1.getString("name", "noname");
jdMethod_super(paramStringBuffer, "wireless." + (??? + 1), new java.lang.String[] { "mode", localWlanConf1.is("is_wds_uplink", false) ? "managed" : "master", "devname", str7, "id", localWlanConf1.getString("_id"), "status", "enabled", "authmode", (str8.equals("open")) && (!localWlanConf1.is("is_wds_uplink", false)) ? "0" : "1", "l2_isolation", localWlanConf1.is("is_guest", false) ? "enabled" : "disabled", "is_guest", localWlanConf1.is("is_guest", false) ? "true" : "false", "security", bool3 ? "aes128" : str12.length() == 26 ? "wep128" : str12.length() == 10 ? "wep64" : "none", "security." + localWlanConf1.getString("wep_idx", "1") + ".key", bool3 ? str12 : null, "security.default_key", bool3 ? localWlanConf1.getString("wep_idx", "1") : null, "addmtikie", "disabled", "ssid", str14, "hide_ssid", localWlanConf1.is("hide_ssid", false) ? "true" : "false", "mac_acl.status", "enabled", "mac_acl.policy", "deny", "wmm", "enabled", "uapsd", paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000("config.uapsd_enabled", true) ? "enabled" : "disabled", "puren", "0", "pureg", localWlanConf1.is("b_supported", false) ? "0" : "1", "usage", localWlanConf1.is("is_guest", false) ? "guest" : i6 != 0 ? "downlink" : localWlanConf1.is("is_wds_uplink", false) ? "uplink" : "user", "wds", i6 != 0 ? "enabled" : "disabled", "mcastrate", paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.getProperty(jdMethod_super("mcast_rate", str14), null), "mcast.enhance", paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(jdMethod_super("igmpsnoop_enabled", str14), true) ? null : "0", "autowds", "disabled", "vport", localWlanConf1.is("is_wds_uplink", false) ? "enabled" : "disabled", "vwire", localWlanConf1.is("is_wds_downlink", false) ? "enabled" : "disabled" });
localObject4 = localWlanConf1.getList("wds_peers", X.Ò00000);
if (localObject4 != X.Ò00000)
{
jdMethod_super(paramStringBuffer, "wireless." + (??? + 1), new java.lang.String[] { "vwirepayload", localWlanConf1.getString("vwirepayload") });
jdMethod_super(paramStringBuffer, "wireless." + (??? + 1), new java.lang.String[] { "vwirepeers", localWlanConf1.getString("vwirepeers") });
jdMethod_super(paramStringBuffer, "wireless." + (??? + 1), new java.lang.String[] { "vwirepayload_bcast", localWlanConf1.getString("vwirepayload_bcast") });
for (int i8 = 0; i8 < ((List)localObject4).size(); i8++)
{
localObject5 = (X)((List)localObject4).get(i8);
jdMethod_super(paramStringBuffer, "wireless." + (??? + 1), new java.lang.String[] { "wds." + (i8 + 1) + ".peer", ((X)localObject5).getString("peer_mac", "") });
}
}
if (D.Òo0000())
jdMethod_super(paramStringBuffer, "wireless." + (??? + 1), new java.lang.String[] { "debug", "0x90c81440" });
if (localWlanConf1.is("roam_enabled", false))
{
jdMethod_super(paramStringBuffer, "ubntroam.clust." + m, new java.lang.String[] { "status", "enabled", "devname", str7, "id", localWlanConf1.getString("roam_cluster_id") });
m++;
}
}
Ò00000(paramStringBuffer, paramDevice, bool1);
jdMethod_super(paramStringBuffer, paramDevice, localSetting2, (i != 0) && (!bool1));
}
else
{
jdMethod_super(paramStringBuffer, "# no wlan provisioned as no radio found", new java.lang.String[0]);
jdMethod_super(paramStringBuffer, "radio.status", new java.lang.String[] { "disabled" });
}
}
void Ò00000(StringBuffer paramStringBuffer, Device paramDevice, boolean paramBoolean)
{
jdMethod_super(paramStringBuffer, "# ubntroam", new java.lang.String[0]);
jdMethod_super(paramStringBuffer, "ubntroam", new java.lang.String[] { "status", "enabled", "wiredev", "br0", "macaddr", paramDevice.getString("mac"), "mcastip", "239.254.127.63" });
}
void jdMethod_super(StringBuffer paramStringBuffer, Device paramDevice, oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO, X paramX, Setting paramSetting, java.lang.String paramString, boolean paramBoolean1, boolean paramBoolean2, List<X> paramList)
{
int i = 0;
ArrayList localArrayList1 = new ArrayList();
ArrayList localArrayList2 = new ArrayList();
localArrayList2.add("-t nat -N GUESTIN -P DROP");
localArrayList2.add("-t nat -N GUESTOUT -P ACCEPT");
java.lang.Object localObject1 = paramList.iterator();
java.lang.Object localObject2;
int m;
while (((Iterator)localObject1).hasNext())
{
localObject2 = (X)((Iterator)localObject1).next();
java.lang.String str1 = ((X)localObject2).getString("name");
m = ((X)localObject2).is("is_guest", false);
boolean bool = ((X)localObject2).is("is_wds_uplink", false);
java.lang.String str3 = ((X)localObject2).getString("security", "open");
if ((!"open".equals(str3)) && (!"wep".equals(str3)))
{
localArrayList1.add(java.lang.String.format("-t nat -A PREROUTING --in-interface %s --proto 0x888e -j ACCEPT", new java.lang.Object[] { str1 }));
if (this.jdField_void)
{
localArrayList1.add(java.lang.String.format("-t nat -A PREROUTING --in-interface %s --proto 0x886c -j ACCEPT", new java.lang.Object[] { str1 }));
localArrayList1.add(java.lang.String.format("-t nat -A PREROUTING --in-interface %s --proto LENGTH -j ACCEPT", new java.lang.Object[] { str1 }));
}
}
if ((bool) && (this.Ö00000))
localArrayList1.add(java.lang.String.format("-t broute -A BROUTING --in-interface %s --proto 0x888e -j DROP", new java.lang.Object[] { str1 }));
if (m != 0)
{
i = 1;
localArrayList2.add(java.lang.String.format("-t nat -A PREROUTING --in-interface %s -j GUESTIN", new java.lang.Object[] { str1 }));
localArrayList2.add(java.lang.String.format("-t nat -A POSTROUTING --out-interface %s -j GUESTOUT", new java.lang.Object[] { str1 }));
}
}
localArrayList2.addAll(Arrays.asList(new java.lang.String[] { "-t nat -A GUESTIN -p 0x800 --pkttype-type broadcast --ip-proto 17 --ip-sport 68 --ip-dport 67 -j ACCEPT", "-t nat -A GUESTIN -p arp " + (paramBoolean1 ? "" : "--arp-opcode Request ") + "-j ACCEPT", "-t nat -A GUESTIN -p 0x800 --ip-proto 17 --ip-dport 53 -j ACCEPT", "-t nat -A GUESTIN -p 0x86dd -j DROP", "-t nat -A GUESTIN --pkttype-type broadcast -j DROP", "-t nat -A GUESTOUT -p 0x800 --pkttype-type broadcast --ip-proto 17 --ip-sport 67 --ip-dport 68 -j ACCEPT", "-t nat -A GUESTOUT -p arp " + (paramBoolean1 ? "" : "--arp-opcode Request ") + "-j ACCEPT", "-t nat -A GUESTOUT -p 0x86dd -j DROP", "-t nat -A GUESTOUT --pkttype-type broadcast -j DROP" }));
if (paramBoolean2)
{
localArrayList2.add(java.lang.String.format("-t nat -A GUESTIN -p 0x800 --ip-proto 6 --ip-dport %d --ip-dst %s -j ACCEPT", new java.lang.Object[] { Integer.valueOf(D.oÒ0000()), this.String.Ø00000(paramDevice) }));
localArrayList2.add(java.lang.String.format("-t nat -A GUESTIN -p 0x800 --ip-proto 6 --ip-dport %d --ip-dst %s -j ACCEPT", new java.lang.Object[] { Integer.valueOf(D.jdMethod_for()), this.String.Ø00000(paramDevice) }));
}
else if ("custom".equals(paramString))
{
localArrayList2.add(java.lang.String.format("-t nat -A GUESTIN -p 0x800 --ip-proto 6 --ip-dport %d --ip-dst %s -j ACCEPT", new java.lang.Object[] { Integer.valueOf(paramSetting.getInt("custom_port_http", 80)), paramSetting.getString("custom_ip") }));
localArrayList2.add(java.lang.String.format("-t nat -A GUESTIN -p 0x800 --ip-proto 6 --ip-dport %d --ip-dst %s -j ACCEPT", new java.lang.Object[] { Integer.valueOf(paramSetting.getInt("custom_port_http", 443)), paramSetting.getString("custom_ip") }));
}
localArrayList2.add("-t nat -N CAPTIVE_PORTAL -P RETURN");
localArrayList2.add("-t nat -A GUESTIN -p 0x800 --ip-proto 6 --ip-dport 443 -j CAPTIVE_PORTAL");
localObject1 = StringUtils.split(paramoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.getProperty("config.captive_portal_subnets", ""), "\t, ");
if (localObject1 != null)
for (java.lang.Object localObject4 : localObject1)
localArrayList2.add(java.lang.String.format("-t nat -A CAPTIVE_PORTAL -p IPv4 --ip-dst %s -j ACCEPT", new java.lang.Object[] { localObject4 }));
java.lang.Object localObject3;
for (int j = 1; ; j++)
{
localObject3 = paramSetting.getString("allowed_subnet_" + j, null);
if (localObject3 == null)
break;
localArrayList2.add(java.lang.String.format("-t nat -I GUESTIN -p 0x800 --ip-dst %s -j ACCEPT", new java.lang.Object[] { localObject3 }));
localArrayList2.add(java.lang.String.format("-t nat -I GUESTOUT -p 0x800 --ip-src %s -j ACCEPT", new java.lang.Object[] { localObject3 }));
}
localArrayList2.add("-t nat -A GUESTIN -p 0x800 --ip-dst 224.0.0.0/4 -j DROP");
localArrayList2.add("-t nat -A GUESTOUT -p 0x800 --ip-dst 224.0.0.0/4 -j DROP");
for (j = 1; ; j++)
{
localObject3 = paramSetting.getString("restricted_subnet_" + j, null);
if (localObject3 == null)
break;
localArrayList2.add(java.lang.String.format("-t nat -A GUESTIN -p 0x800 --ip-dst %s -j DROP", new java.lang.Object[] { localObject3 }));
}
if (paramBoolean1)
localArrayList2.addAll(Arrays.asList(new java.lang.String[] { "-t nat -N REDIRECT_HTTP", "-t nat -A REDIRECT_HTTP -j mark --mark-or 0x00500000 --mark-target CONTINUE", "-t nat -A REDIRECT_HTTP -j redirect", "-t nat -N REDIRECT_HTTPS", "-t nat -A REDIRECT_HTTPS -j mark --mark-or 0x01BB0000 --mark-target CONTINUE", "-t nat -A REDIRECT_HTTPS -j redirect", "-t nat -N AUTHORIZED_GUESTS -P RETURN", "-t nat -A GUESTIN -p 0x800 --pkttype-type otherhost -j AUTHORIZED_GUESTS", "-t nat -A GUESTIN -p 0x800 --ip-proto 6 --ip-dport 80 -j REDIRECT_HTTP", "-t nat -A GUESTIN -p 0x800 --ip-proto 6 --ip-dport 443 -j REDIRECT_HTTPS" }));
else
localArrayList2.add("-t nat -A GUESTIN -j ACCEPT");
if (i != 0)
localArrayList1.addAll(localArrayList2);
j = 1;
jdMethod_super(paramStringBuffer, "# ebtables", new java.lang.String[0]);
jdMethod_super(paramStringBuffer, "ebtables.status", new java.lang.String[] { "enabled" });
if (localArrayList1.size() > 0)
{
localObject3 = localArrayList1.iterator();
while (((Iterator)localObject3).hasNext())
{
java.lang.String str2 = (java.lang.String)((Iterator)localObject3).next();
jdMethod_super(paramStringBuffer, java.lang.String.format("ebtables.%d.cmd", new java.lang.Object[] { Integer.valueOf(j) }), new java.lang.String[] { str2 });
j++;
}
}
}
void jdMethod_super(StringBuffer paramStringBuffer, Device paramDevice, Setting paramSetting, boolean paramBoolean)
{
jdMethod_super(paramStringBuffer, "# connectivity", new java.lang.String[0]);
if (paramBoolean)
{
jdMethod_super(paramStringBuffer, "connectivity.status", new java.lang.String[] { "enabled" });
if ("custom".equals(paramSetting.getString("uplink_type", "gateway")))
jdMethod_super(paramStringBuffer, "connectivity.uplink", new java.lang.String[] { paramSetting.getString("uplink_host", "gateway") });
}
else
{
jdMethod_super(paramStringBuffer, "connectivity.status", new java.lang.String[] { "disabled" });
}
}
static enum o
{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment