SAM: Remove subsessions when primary session closes

This commit is contained in:
zzz
2021-04-03 15:25:20 -04:00
parent 1307e5b2e0
commit 7ad7846f86
3 changed files with 30 additions and 5 deletions

View File

@ -183,6 +183,7 @@ class PrimarySession extends SAMv3StreamSession implements SAMDatagramReceiver,
/**
* Remove a session
* @param props ignored, may be null
* @return null for success, or error message
*/
public synchronized String remove(String nick, Properties props) {
@ -268,13 +269,17 @@ class PrimarySession extends SAMv3StreamSession implements SAMDatagramReceiver,
}
/**
* Close the primary session
* Overridden to stop the acceptor.
* Close the primary session and all subsessions.
* Overridden to stop the acceptor and the subsessions.
*/
@Override
public void close() {
// close sessions?
public synchronized void close() {
streamAcceptor.stopRunning();
for (Map.Entry<String, SAMMessageSess> e : sessions.entrySet()) {
SAMv3Handler.sSessionsHash.del(e.getKey());
e.getValue().close();
}
sessions.clear();
super.close();
}

View File

@ -1,3 +1,23 @@
2021-04-03 zzz
* SAM: Remove subsessions when primary session closes
* SSU: Remove restrictions on IPv6 introducers (prop. 158)
2021-04-02 zzz
* SSU: Fix dup IPv6 introducers
2021-04-01 zzz
* NetDB: Negative cache LS received with zero leases
2021-03-31 zzz
* SSU: Update address when IPv6 introducers change (prop. 158)
2021-03-30 zzz
* Transport: Fix NTCP removing IPv4 address when SSU removes IPv6 address
2021-03-29 zzz
* SSU: Don't request introducers when hidden
* Transport: Don't open UPnP ports when hidden or force-firewalled
2021-03-27 zzz
* Router: Fix decryption of blinded leasesets

View File

@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Git";
public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 10;
public final static long BUILD = 11;
/** for example "-test" */
public final static String EXTRA = "";