Chun Tat David Chu wrote: > Hi Rich, > > I downloaded OpenJDK source code, modified the > com.sun.jndi.ldap.NamingEventNotifier JAVA class to set the control as > NONCRITICAL instead of CRITICAL, and compiled the OpenJDK. > > I reran my test, and as you expected, I no longer see > "-get_ldapmessage_controls failed: 12 (Unavailable critical extension) > (op=Abandon)" in the error log but the connection in CLOSE_WAIT state > still persist after my JAVA application terminated. > > Do you have any other recommendation? Do you recommend me to file a > bug report for 389-ds? Sure, please file a bug, and please attach the Java code used to reproduce the problem. > > Thanks, > > David > > On Fri, Feb 19, 2010 at 10:32 PM, Rich Megginson <rmeggins at redhat.com > <mailto:rmeggins at redhat.com>> wrote: > > Chun Tat David Chu wrote: > > Hi Rich, > > > > I very appreciate your help. > > > > >> Does the client send the Abandon request to OpenDS? If so, does > > OpenDS abandon the operation, or complain about the control? > > The client does send the abandon request to OpenDS according to the > > log file, and I think it processed the request peacefully. If you > > look at the 3 debug lines below. The first 2 lines showed when > OpenDS > > received the abandon request, and the last line is when my app > > requested to disconnect. We'll pay attention on the 2nd line only. > > > > According to OpenDS Wiki > > (https://www.opends.org/wiki/page/DefinitionResultCode), result=118 > > means "Canceled", and it is an indication that the server canceled > > processing on the request at the request of the client. > > > > [19/Feb/2010:18:57:00 -0500] ABANDON REQ conn=0 op=13 msgID=14 > > idToAbandon=3 > > [19/Feb/2010:18:57:00 -0500] ABANDON RES conn=0 op=13 msgID=14 > > result=118 etime=1 > > [19/Feb/2010:18:57:13 -0500] DISCONNECT conn=0 reason="Client > Disconnect" > > > > I am still playing with the OpenDS debug settings to see if I > can get > > more out of it. I also plan to download OpenJDK and modify JNDI > code > > to set NONCRITICAL instead of CRITICAL and give that a try. > Ok. Then I suppose OpenDS supports the control, or OpenDS does not > error if an unsupported control is sent with the Abandon operation. > > > > - David > > > > > > > > On Fri, Feb 19, 2010 at 5:26 PM, Rich Megginson > <rmeggins at redhat.com <mailto:rmeggins at redhat.com> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>> wrote: > > > > Chun Tat David Chu wrote: > > > Hi Rich, > > > > > > Thank you for your quick response! > > > > > > I'll use the information you provided and file a bug on JNDI. > > > > > > Do you think this "UnavailableCriticalExtension" is the > cause of why > > > connection not being closed successfully? > > Could be - if it attempts to Abandon the persistent search, > but the > > Abandon request doesn't go through because of the control, the > > connection will remain open > > > > > > I am trying to figure out which end is the issue (Client > or Server). > > > For testing purpose, I just downloaded OpenDS and > installed it. > > I ran > > > the same test scenario for about 20 times, and I don't see any > > > CLOSE_WAIT connection on the OpenDS process. > > Does the client send the Abandon request to OpenDS? If so, does > > OpenDS > > abandon the operation, or complain about the control? > > > > > > - David > > > > > > On Fri, Feb 19, 2010 at 4:39 PM, Rich Megginson > > <rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>> > > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>>> wrote: > > > > > > Chun Tat David Chu wrote: > > > > Hi Rich, > > > > > > > > That was quick response! Thank you! > > > > > > > > >> That seems like a bug in JNDI - can you file a bug? > > > > Yes I can do that but I'll need more information to > backup > > my case. > > > > For example, which RFC stated that application shouldn't > > send a LDAP > > > > Abandon request for control that is marked as > CRITICAL. I > > couldn't > > > > find that information in RFC 22551. > > > http://www.faqs.org/rfcs/rfc2251.html > > > The problem will happen with any request - if the client > > sends any > > > request (except Unbind) to the server, and attaches a > > control that is > > > marked as CRITICAL, and the server does not support that > > control, the > > > server returns unavailableCriticalExtension. > > > > > > http://www.ietf.org/rfc/rfc4511.txt - 4.1.11. Controls > > > "Specifically, the criticality field is applied as > follows: > > > > > > - If the server does not recognize the control type, > > determines that > > > it is not appropriate for the operation, or is > otherwise > > unwilling > > > to perform the operation with the control, and if the > > criticality > > > field is TRUE, the server MUST NOT perform the > > operation, and for > > > operations that have a response message, it MUST > return > > with the > > > resultCode set to unavailableCriticalExtension." > > > > > > So the problem here is that > > > 1) JNDI is sending the Abandon request with a control not > > > supported for > > > the Abandon operation and/or not supported by the server > > > - solution - change the Abandon request to send only > controls > > > supported > > > by the server (I'm not even sure why it is attempting > to send a > > > control > > > with Abandon) > > > 2) JNDI is marking the control as CRITICAL > > > - solution - mark the control as non-critical > > > 3) JNDI does not know how to handle this standard > result in > > a more > > > graceful manner > > > - solution - catch unavailableCriticalExtension and > resubmit the > > > request > > > without the control or with the control marked > non-critical > > > > > > > > >> Is there some way to verify that? Because the > behavior you > > > > describe below would seem to suggest that not all > > operation results > > > > have been completely read by the client. > > > > :-( I am stuck on this part. I am not sure what is the > > best way to > > > > verify this because JNDI hides so much from me. I > spend the > > > last two > > > > hours looking at tcpdump trying to see if there's > any special > > > messages > > > > that was sent across but nothing pops up to me. > > > > > > > > >> Do you only see the problem when persistent > search is used? > > > Do you > > > > see the problem when you don't use persistent > search? This > > > would also > > > > lead me to believe the problem is that the client > has not > > completed > > > > all operations successfully, and is therefore > attempting to > > > submit an > > > > Abandon request to abandon those uncompleted operations. > > > > Yes, from my observation, this only happen with > persistent > > > search. I > > > > tried different test scenarios such as 1) Create > > connection, do > > > > nothing, close connection and 2) Create connection, add > > > NamingListener > > > > (Persistent Search), remove NamingListener, close > > connection. I ran > > > > these two scenarios many times, and only when I > add/remove > > > > NamingListener will trigger the CLOSE_WAIT connection on > > the slapd > > > > process. > > > > > > > > I did found something very interesting... > > > > If I put a sleep say 6 seconds after I established a > LDAP > > connection > > > > and before I add a NamingListener then the > connection will > > always > > > > clean-up successfully when the application exit. > However, > > if I > > > don't > > > > put the sleep and add a NamingListener right after > > establishing the > > > > LDAP connection then when I my application exits, the > > slapd process > > > > will always end up with a CLOSE_WAIT connection. I > tried > > this test > > > > scenario about 20 times and I always get the same > result. > > Below is > > > > the code snippet and I'll re-attach the test case I > use in > > this > > > e-mail. > > > > > > > > // Establish a context to LDAP. > > > > LDAP_CONTEXT = > > > > (EventDirContext) new > InitialDirContext( > > > > > > > ldapEnvironmentHashtable).lookup(CONTEXT); > > > > Thread.sleep(6000); > > > > LDAP_CONTEXT.addNamingListener( > > > > SANDBOX_CONTEXT, > > EventContext.SUBTREE_SCOPE, > > > > myListener); > > > interesting > > > > > > > > Thanks for reading! > > > > > > > > - David > > > > > > > > > > > > > > > > On Fri, Feb 19, 2010 at 1:31 PM, Rich Megginson > > > <rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>> > > > > <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com> <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com>> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>>>> wrote: > > > > > > > > Chun Tat David Chu wrote: > > > > > Hi Rich, > > > > > > > > > > Thanks for your response. I very appreciate it. > > > > > > > > > > >> see if you can specify that no controls are > to be > > sent > > > with the > > > > > Abandon request > > > > > I looked at the JNDI API documentation and I > don't see > > > there's a > > > > way I > > > > > can do this. I did verify by reviewing the > OpenJDK > > source > > > code that > > > > > it is setting the control as CRITICAL, and it > is set > > in the > > > > > com.sun.jndi.ldap.NamingEventNotifier class. > > > > That seems like a bug in JNDI - can you file a bug? > > > > > > > > > > >> if you wait for all of the operations and > results > > to be > > > read by > > > > > your app, JNDI might notice this and just do > an Unbind > > > instead of an > > > > > Abandon. > > > > > The test application that I use done things in a > > sequential > > > > order so I > > > > > believe all the operations and results had already > > been read. > > > > Is there some way to verify that? Because the > > behavior you > > > describe > > > > below would seem to suggest that not all > operation results > > > have been > > > > completely read by the client. > > > > > > > > > > I did more testings today using the same test I > > attached in my > > > > > original e-mail and found out that this problem > > happen very > > > > often but > > > > > sometime the connection does cleaned up correctly. > > Here's two > > > > > snippets of the errors log with "Connection > management" > > > log level > > > > > enabled. The difference is that when it does > work, > > I see the > > > > > "sasl_io_cleanup for connection" debug > statement and it > > > appears that > > > > > slapd tries to release the connection and > operation > > in all > > > cases > > > > > except often time it doesn't work (when persistent > > search > > > is used) > > > > Do you only see the problem when persistent > search is > > used? Do > > > > you see > > > > the problem when you don't use persistent > search? This > > > would also > > > > lead > > > > me to believe the problem is that the client has not > > > completed all > > > > operations successfully, and is therefore > attempting to > > > submit an > > > > Abandon request to abandon those uncompleted > operations. > > > > > and the connection get into a CLOSE_WAIT state. > > > > > > > > > > I will do more testing and poke more on the > JAVA client. > > > > > > > > > > Thanks, > > > > > > > > > > David > > > > > > > > > > ###### WORKING LOG ###### > > > > > [19/Feb/2010:13:12:49 -0500] - activity on 68r > > > > > [19/Feb/2010:13:12:49 -0500] - read activity on 68 > > > > > [19/Feb/2010:13:12:49 -0500] - listener got > signaled > > > > > [19/Feb/2010:13:12:49 -0500] - > get_ldapmessage_controls > > > failed: 12 > > > > > (Unavailable critical extension) (op=Abandon) > > > > > [19/Feb/2010:13:13:18 -0500] - activity on 68r > > > > > [19/Feb/2010:13:13:18 -0500] - read activity on 68 > > > > > [19/Feb/2010:13:13:18 -0500] - conn 98 activity > > level = 3 > > > > > [19/Feb/2010:13:13:18 -0500] - listener got > signaled > > > > > [19/Feb/2010:13:13:18 -0500] Persistent Search > - conn=98 > > > op=2 The > > > > > operation has been abandoned > > > > > [19/Feb/2010:13:13:18 -0500] - conn 98 turbo > rank = > > 3 out > > > of 5 conns > > > > > [19/Feb/2010:13:13:18 -0500] Persistent Search - > > conn=98 op=2 > > > > > Releasing the connection and operation > > > > > [19/Feb/2010:13:13:18 -0500] - sasl_io_cleanup for > > > connection 0 > > > > > [19/Feb/2010:13:13:18 -0500] - > sasl_pop_IO_layer: no > > SASL > > > IO layer > > > > > [19/Feb/2010:13:13:18 -0500] - listener got > signaled > > > > > > > > > > ###### NOT WORKING LOG ###### > > > > > [19/Feb/2010:13:14:33 -0500] - activity on 68r > > > > > [19/Feb/2010:13:14:33 -0500] - read activity on 68 > > > > > [19/Feb/2010:13:14:33 -0500] - conn 99 activity > > level = 2 > > > > > [19/Feb/2010:13:14:33 -0500] - conn 99 turbo > rank = > > 3 out > > > of 5 conns > > > > > [19/Feb/2010:13:14:34 -0500] - > get_ldapmessage_controls > > > failed: 12 > > > > > (Unavailable critical extension) (op=Abandon) > > > > > [19/Feb/2010:13:14:35 -0500] - listener got > signaled > > > > > [19/Feb/2010:13:14:39 -0500] - activity on 68r > > > > > [19/Feb/2010:13:14:39 -0500] - read activity on 68 > > > > > [19/Feb/2010:13:14:39 -0500] - conn 99 activity > > level = 2 > > > > > [19/Feb/2010:13:14:39 -0500] - conn 99 turbo > rank = > > 3 out > > > of 5 conns > > > > > [19/Feb/2010:13:14:39 -0500] Persistent Search > - conn=99 > > > op=2 The > > > > > operation has been abandoned > > > > > [19/Feb/2010:13:14:39 -0500] Persistent Search - > > conn=99 op=2 > > > > > Releasing the connection and operation > > > > > [19/Feb/2010:13:14:39 -0500] - listener got > signaled > > > > > > > > > > > > > > > > > > > > On Thu, Feb 18, 2010 at 8:14 PM, Rich Megginson > > > > <rmeggins at redhat.com > <mailto:rmeggins at redhat.com> <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com>> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>> > > > <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com> <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com>> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>>> > > > > > <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>> > > > <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com> <mailto:rmeggins at redhat.com > <mailto:rmeggins at redhat.com>> > > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com> > <mailto:rmeggins at redhat.com <mailto:rmeggins at redhat.com>>>>>> wrote: > > > > > > > > > > Chun Tat David Chu wrote: > > > > > > Hi All, > > > > > > > > > > > > I am running 389 DS version 1.2.5, build > number > > > > 2010.012.2034 on > > > > > RHEL 5.2. > > > > > > > > > > > > I have a problem that slapd didn't close a > > > connection and > > > > eventually > > > > > > get into a CLOSE_WAIT state after my JAVA > > > application exit. > > > > > > > > > > > > The scenario only happen when my application > > registers a > > > > > > NamingListener via the JAVA JNDI (Java > Naming > > Directory > > > > > Interface). I > > > > > > believe the NamingListener is equivalent > to the > > > Persistent > > > > Search. > > > > > > This problem doesn't exist if I don't > use the JNDI > > > > NamingListener > > > > > > capability. > > > > > > > > > > > > From my understanding, I did everything > > correctly in my > > > > application. > > > > > > I create a context, add a listener, do some > > stuffs, > > > remove the > > > > > > listener and then close the context. > > > > > > > > > > > > One thing I notice is that in the slapd's > > error log, > > > I see the > > > > > > following... > > > > > > "-get_ldapmessage_controls failed: 12 > (Unavailable > > > critical > > > > > extension) > > > > > > (op=Abandon)". > > > > > > This message prints out right after I > remove the > > > listener > > > > and before > > > > > > my application closes the context. > > > > > > > > > > > > The closest bug report I found is this > and it > > said the > > > > problem has > > > > > > been resolved. > > > > > > > https://bugzilla.redhat.com/show_bug.cgi?id=450575 > > > > > > > > > > > > At this point, I'm clueless. :-( > > > > > > Can someone help me or give me some > recommendation > > > that I > > > > could try? > > > > > It looks as though the app is sending an LDAP > > Abandon > > > > request with > > > > > controls that are marked as critical, and the > > server does > > > > not support > > > > > them. This is standard LDAPv3 behavior. I'm > > not sure why > > > > it is using > > > > > Abandon, perhaps to Abandon any outstanding > > search or > > > other > > > > requests > > > > > that have not completed. Some things to > check: > > > > > * see if you can specify that no controls > are to > > be sent > > > > with the > > > > > Abandon request > > > > > * if you wait for all of the operations and > > results to be > > > > read by your > > > > > app, JNDI might notice this and just do an > Unbind > > > instead of an > > > > > Abandon. > > > > > > > > > > > > I will attach my JAVA JNDI replicator along > > with this > > > > e-mail. You > > > > > > will need to modify 2-3 lines of code to > get it > > > running in > > > > your > > > > > > environment. Search for "MODIFY ME" and > that > > should > > > be the > > > > > lines that > > > > > > you need to modify. > > > > > > > > > > > > Thanks! > > > > > > > > > > > > David > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > -- > > > > > > 389 users mailing list > > > > > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>>> > > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>>>> > > > > > > > > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > > > > > > > -- > > > > > 389 users mailing list > > > > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>>> > > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>>>> > > > > > > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > -- > > > > > 389 users mailing list > > > > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>>> > > > > > > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > > > > > -- > > > > 389 users mailing list > > > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>>> > > > > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > -- > > > > 389 users mailing list > > > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > > > -- > > > 389 users mailing list > > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>>> > > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > -- > > > 389 users mailing list > > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > -- > > 389 users mailing list > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > <mailto:389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org>> > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > > > > > ------------------------------------------------------------------------ > > > > -- > > 389 users mailing list > > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > > https://admin.fedoraproject.org/mailman/listinfo/389-users > > -- > 389 users mailing list > 389-users at lists.fedoraproject.org > <mailto:389-users at lists.fedoraproject.org> > https://admin.fedoraproject.org/mailman/listinfo/389-users > > > ------------------------------------------------------------------------ > > -- > 389 users mailing list > 389-users at lists.fedoraproject.org > https://admin.fedoraproject.org/mailman/listinfo/389-users