[Obm] o-push

Pierrick Perrigault pperrigault at yahoo.fr
Mon Nov 30 16:38:55 CET 2009


Rebonjour,

J'ai avancé, en ne testant que la synchro des contacts, voici les logs de o-push :



 2009-11-30 15:36:34,241 SyncHandler INFO - process(p.perrigault at habitat-humanisme.net/Nokia6210Navigator/2.09(158)MailforExchange)
 2009-11-30 15:36:34,244 ContentsExporter INFO - configure(null, null, org.obm.push.state.SyncState at 1f9f0f2, obm:\\p.perrigault at habitat-humanisme.net\contacts)
 2009-11-30 15:36:34,245 ContentsExporter INFO - getChanged: org.obm.push.backend.BackendSession at 19ccba collectionId: obm:\\p.perrigault at habitat-humanisme.net\contacts
 2009-11-30 15:36:34,245 ContactsBackend INFO - getContentChanges(1970-01-30 15:35:50.625)
 2009-11-30 15:36:34,245 LocatorClient ERROR - Connection refused
 java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550)
        at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
        at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:271)
        at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:328)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:778)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1026)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
        at java.net.URL.openStream(URL.java:1009)
        at org.obm.locator.client.LocatorClient.locateHost(LocatorClient.java:22)
        at org.obm.push.backend.obm22.impl.ObmSyncBackend.locateObmSync(ObmSyncBackend.java:32)
        at org.obm.push.backend.obm22.contacts.ContactsBackend.getBookClient(ContactsBackend.java:35)
        at org.obm.push.backend.obm22.contacts.ContactsBackend.getContentChanges(ContactsBackend.java:59)
        at org.obm.push.backend.obm22.ContentsExporter.getContactsChanges(ContentsExporter.java:64)
        at org.obm.push.backend.obm22.ContentsExporter.getChanged(ContentsExporter.java:90)
        at org.obm.push.impl.SyncHandler.doUpdates(SyncHandler.java:146)
        at org.obm.push.impl.SyncHandler.process(SyncHandler.java:122)
        at org.obm.push.impl.WbxmlRequestHandler.process(WbxmlRequestHandler.java:77)
        at org.obm.push.ActiveSyncServlet.processActiveSyncMethod(ActiveSyncServlet.java:239)
        at org.obm.push.ActiveSyncServlet.service(ActiveSyncServlet.java:130)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:748)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:219)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
2009-11-30 15:36:34,246 ContactsBackend INFO - Using null as obm_sync host.
 2009-11-30 15:36:34,294 BookClient ERROR - null
 java.net.UnknownHostException: null
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:240)
        at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
        at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
        at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
        at org.obm.sync.client.impl.AbstractClientImpl.executeStream(AbstractClientImpl.java:134)
        at org.obm.sync.client.impl.AbstractClientImpl.execute(AbstractClientImpl.java:63)
        at org.obm.sync.client.impl.AbstractClientImpl.login(AbstractClientImpl.java:162)
        at org.obm.push.backend.obm22.contacts.ContactsBackend.getContentChanges(ContactsBackend.java:60)
        at org.obm.push.backend.obm22.ContentsExporter.getContactsChanges(ContentsExporter.java:64)
        at org.obm.push.backend.obm22.ContentsExporter.getChanged(ContentsExporter.java:90)
        at org.obm.push.impl.SyncHandler.doUpdates(SyncHandler.java:146)
        at org.obm.push.impl.SyncHandler.process(SyncHandler.java:122)
        at org.obm.push.impl.WbxmlRequestHandler.process(WbxmlRequestHandler.java:77)
        at org.obm.push.ActiveSyncServlet.processActiveSyncMethod(ActiveSyncServlet.java:239)
        at org.obm.push.ActiveSyncServlet.service(ActiveSyncServlet.java:130)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:748)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:219)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
2009-11-30 15:36:34,294 SyncHandler ERROR - Error creating Sync response
 java.lang.NullPointerException
        at org.obm.sync.client.impl.AbstractClientImpl.login(AbstractClientImpl.java:163)
        at org.obm.push.backend.obm22.contacts.ContactsBackend.getContentChanges(ContactsBackend.java:60)
        at org.obm.push.backend.obm22.ContentsExporter.getContactsChanges(ContentsExporter.java:64)
        at org.obm.push.backend.obm22.ContentsExporter.getChanged(ContentsExporter.java:90)
        at org.obm.push.impl.SyncHandler.doUpdates(SyncHandler.java:146)
        at org.obm.push.impl.SyncHandler.process(SyncHandler.java:122)
        at org.obm.push.impl.WbxmlRequestHandler.process(WbxmlRequestHandler.java:77)
        at org.obm.push.ActiveSyncServlet.processActiveSyncMethod(ActiveSyncServlet.java:239)
        at org.obm.push.ActiveSyncServlet.service(ActiveSyncServlet.java:130)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:748)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:219)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)

Cordialement

----- Message d'origine ----
De : Pierrick Perrigault <pperrigault at yahoo.fr>
À : CATALDO Thomas <thomas.cataldo at aliasource.fr>; obm at list.aliasource.fr
Envoyé le : Lun 30 Novembre 2009, 14 h 49 min 39 s
Objet : Re : [Obm] o-push

Bonjour,

J'ai avancé dans la mise en place de o-push, toutefois la synchro ne se fait pas encore, il doit rester deux ou trois choses !
Actuellement j'ai mis en place un VHost activesync.mondomaine.com sur mon serveur apache avec le proxy configuré vers http://mamachine:8082/Microsoft-Server-ActiveSync
je configure Mail for Exchange, je fais un test de synchro, erreur système veuillez réessayer plus tard ...
Voici ce que j'ai dans les logs de O-push :

2009-11-30 13:35:14,839 ActiveSyncServlet INFO - q: User=p.perrigault%40mondomaine.com&DeviceId=IMEI356950031433796&DeviceType=IMEI356950031433796 pending: false resumed: false m: OPTIONS
2009-11-30 13:35:16,537 ActiveSyncServlet INFO - q: User=p.perrigault%40mondomaine.com&DeviceId=IMEI356950031433796&DeviceType=IMEI356950031433796&Cmd=Settings pending: false resumed: false m: POST
2009-11-30 13:35:16,595 ActiveSyncServlet INFO - [p.perrigault at mondomaine.com] policy used: 86407919
2009-11-30 13:35:16,596 BackendSession WARN - could not load hints for device type Nokia6210Navigator/2.09(158)MailforExchange
2009-11-30 13:35:16,596 ActiveSyncServlet INFO - [[[[[[[[[ new session: p.perrigault at mondomaine.com/IMEI356950031433796 ]]]]]]]
2009-11-30 13:35:16,596 ActiveSyncServlet INFO - activeSyncMethod: Settings
2009-11-30 13:35:16,596 ActiveSyncServlet INFO - Client supports protocol 12.1
2009-11-30 13:35:16,617 WbxmlParser INFO - document charset is UTF-8
2009-11-30 13:35:16,634 SettingsHandler INFO - from pda:
<?xml version="1.0" encoding="UTF-8"?>
<Settings>
<DeviceInformaton>
<Set>
<Model>Nokia6210Navigator</Model>
<IMEI>IMEI356950031433796</IMEI>
<FriendlyName>Nokia/Mail For Exchange</FriendlyName>
<OS>4.13</OS>
</Set>
</DeviceInformaton>
</Settings>

2009-11-30 13:35:16,634 SettingsHandler INFO - process(p.perrigault at mondomaine.com/Nokia6210Navigator/2.09(158)MailforExchange)
2009-11-30 13:35:16,635 Responder INFO - to pda:
<?xml version="1.0" encoding="UTF-8"?>
<Settings>
<DeviceInformaton>
<Set>
<Model>Nokia6210Navigator</Model>
<IMEI>IMEI356950031433796</IMEI>
<FriendlyName>Nokia/Mail For Exchange</FriendlyName>
<OS>4.13</OS>
</Set>
</DeviceInformaton>
</Settings>

2009-11-30 13:35:19,628 ActiveSyncServlet INFO - q: User=p.perrigault%40mondomaine.com&DeviceId=IMEI356950031433796&DeviceType=IMEI356950031433796&Cmd=FolderSync pending: false resumed: false m: POST
2009-11-30 13:35:19,643 ActiveSyncServlet INFO - [p.perrigault at mondomaine.com] policy used: 86407919
2009-11-30 13:35:19,643 ActiveSyncServlet INFO - [[[[[[ Existing session: org.obm.push.backend.BackendSession at 19ccba null ]]]]]]
2009-11-30 13:35:19,644 ActiveSyncServlet INFO - activeSyncMethod: FolderSync
2009-11-30 13:35:19,644 ActiveSyncServlet INFO - Client supports protocol 12.1
2009-11-30 13:35:19,644 WbxmlParser INFO - document charset is UTF-8
2009-11-30 13:35:19,645 FolderSyncHandler INFO - from pda:
<?xml version="1.0" encoding="UTF-8"?>
<FolderSync>
<SyncKey>0</SyncKey>
</FolderSync>

2009-11-30 13:35:19,645 FolderSyncHandler INFO - process(p.perrigault at mondomaine.com/Nokia6210Navigator/2.09(158)MailforExchange)
2009-11-30 13:35:19,645 OBMBackend INFO - resetForFullSync devId: IMEI356950031433796
2009-11-30 13:35:19,647 EmailManager INFO - resetForFullSync
2009-11-30 13:35:19,650 SyncStorage WARN - mappings & states cleared for full sync of device IMEI356950031433796
2009-11-30 13:35:19,652 HierarchyExporter INFO - configure(bs, null, null, org.obm.push.state.SyncState at 43da1b, 0, 0)
2009-11-30 13:35:19,653 HierarchyExporter INFO - synchronize
2009-11-30 13:35:19,817 Responder INFO - to pda:
<?xml version="1.0" encoding="UTF-8"?>
<FolderSync>
<Status>1</Status>
<SyncKey>156b9b69-82e0-4e9e-8574-788c70624c3d</SyncKey>
<Changes>
<Count>5</Count>
<Add>
<ServerId>14</ServerId>
<ParentId>0</ParentId>
<DisplayName>p.perrigault at mondomaine.com</DisplayName>
<Type>8</Type>
</Add>
<Add>
<ServerId>16</ServerId>
<ParentId>0</ParentId>
<DisplayName>Inbox</DisplayName>
<Type>2</Type>
</Add>
<Add>
<ServerId>17</ServerId>
<ParentId>0</ParentId>
<DisplayName>Sent</DisplayName>
<Type>5</Type>
</Add>
<Add>
<ServerId>18</ServerId>
<ParentId>0</ParentId>
<DisplayName>Trash</DisplayName>
<Type>4</Type>
</Add>
<Add>
<ServerId>15</ServerId>
<ParentId>0</ParentId>
<DisplayName>p.perrigault at mondomaine.com contacts</DisplayName>
<Type>9</Type>
</Add>
</Changes>
</FolderSync>

et ça s'arrète là ....

J'ai rien de très indicatif dans les logs d'apache non plus ... 

Auriez vous une piste ?

Bien cordialement !!!!



----- Message d'origine ----
De : CATALDO Thomas <thomas.cataldo at aliasource.fr>
À : Pierrick Perrigault <pperrigault at yahoo.fr>; obm at list.aliasource.fr
Envoyé le : Jeu 26 Novembre 2009, 15 h 30 min 19 s
Objet : RE: [Obm] o-push

Pierrick Perrigault a écrit :
> Bonjour,
> Je suis en train d'essayer O-push 2.3 actuellement. Je l'ai installé mais j'ai quelques difficultés ...
> Une fois installé, je vois bien que le processus O-push est bien lancé et que le port 8082 est ouvert sur la machine en question !
> J'essaie de paramétrer un portable (Nokia 6210 Navigator), celui ci me retourne une problème d'adresse he qui n'est pas valide ... Soit !
> Je teste via mon navigateur web sur l'adresse http://mamachine:8082/Microsoft-Server-ActiveSync. J'arrive à un prompt d'authentification !
> J'essaie de m'authentifier, voici le message affiché :
> Problem accessing /Microsoft-Server-ActiveSync. Reason:
> INTERNAL_SERVER_ERROR
> Caused by:
> java.lang.NullPointerException
> at org.obm.push.ActiveSyncServlet.p(ActiveSyncServlet.java:205)
> at org.obm.push.ActiveSyncServlet.performAuthentification(ActiveSyncServlet.java:164)
> at org.obm.push.ActiveSyncServlet.service(ActiveSyncServlet.java:111)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
> at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
> at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:540)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> J'ai l'impression qu'il y'a un problème d'authentification ! Je vais voir dans les logs de o-push :
> 2009-11-26 13:04:29,058 Application INFO - Push server started.
> 2009-11-26 13:04:29,121 CalendarMonitoringThread INFO - changed collections: 0 dbDate: Thu Nov 26 13:04:29 GMT 2009
> 2009-11-26 13:04:29,123 CalendarMonitoringThread INFO - DB lastSync: Thu Nov 26 13:04:29 GMT 2009
> 2009-11-26 13:04:29,130 ContactsMonitoringThread INFO - changed collections: 0 dbDate: Thu Nov 26 13:04:29 GMT 2009
> 2009-11-26 13:04:29,130 ContactsMonitoringThread INFO - DB lastSync: Thu Nov 26 13:04:29 GMT 2009
> 2009-11-26 13:04:31,438 ActiveSyncServlet INFO - q: null pending: false resumed: false m: GET
> 2009-11-26 13:04:32,541 ActiveSyncServlet INFO - q: null pending: false resumed: false m: GET
> 2009-11-26 13:04:59,262 ActiveSyncServlet INFO - q: null pending: false resumed: false m: GET
> 2009-11-26 13:04:59,262 ActiveSyncServlet WARN - invalid auth, sending http 401 (uri: GET /Microsoft-Server-ActiveSync null)
> 2009-11-26 13:05:08,681 ActiveSyncServlet INFO - q: null pending: false resumed: false m: GET
> Pouvez vous m'aider ?

Ce comportement est "normal" dans le sens que la requete simple faite par le navigateur n'est pas conforme au protocole : il manque certains des paramètres obligatoires dans l'url. Il semble prêt à fonctionner (avec MailForExchange puisque vous utilisez un nokia)



_______________________________________________
Obm mailing list
Obm at list.aliasource.fr
http://www.list.aliasource.fr/mailman/listinfo/obm



      


More information about the Obm mailing list