Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » How to redirect git clone to use https instead of git: protocol?
How to redirect git clone to use https instead of git: protocol? [message #1705144] Wed, 12 August 2015 12:42 Go to next message
Michael Vorburger is currently offline Michael VorburgerFriend
Messages: 103
Registered: July 2009
Senior Member
Hallo,

I'm behind a corporate firewall which blocks e.g. git clone git@github.com:eclipse/xtext.git and so we would have to use git clone https://github.com/eclipse/xtext.git.

Oomph's Xtext setup model however uses git@github.com:eclipse/xtext.git and so fails for us with the error who's full detalis are shown below.

Is it possible to teach Oomph to always use https instead of git protocol with jgit? If this is not supported yet, would a new Bugzilla about this be welcome? Is there any short-term workaround for this?

Would a new Bugzilla to have Oomph do this automatically whenever a proxy is detected be useful? à la what they're doing e.g. in https://github.com/bower/bower/issues/731.

Thank you!

Performing Git Clone git@github.com:eclipse/xtext.git  (master)
Cloning Git repo git@github.com:eclipse/xtext.git to /home/mvorburger/dev/Xtext/git/xtext
java.lang.Exception: org.eclipse.jgit.api.errors.TransportException: git@github.com:eclipse/xtext.git: timeout: socket is not established
  at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:756)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
  at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:542)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:627)
  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.eclipse.jgit.api.errors.TransportException: git@github.com:eclipse/xtext.git: timeout: socket is not established
  at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:139)
  at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:193)
  at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:133)
  at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.cloneRepository(GitCloneTaskImpl.java:812)
  at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:681)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
  at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:542)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:627)
  ... 1 more
Caused by: org.eclipse.jgit.errors.TransportException: git@github.com:eclipse/xtext.git: timeout: socket is not established
  at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159)
  at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)
  at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)
  at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)
  at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:136)
  at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
  at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1138)
  at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130)
  at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:193)
  at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:133)
  at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.cloneRepository(GitCloneTaskImpl.java:812)
  at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:681)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
  at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:542)
  ... 2 more
Caused by: com.jcraft.jsch.JSchException: timeout: socket is not established
  at com.jcraft.jsch.Util.createSocket(Util.java:394)
  at com.jcraft.jsch.Session.connect(Session.java:215)
  at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)
  at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)
  at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)
  at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)
  at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:136)
  at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
  at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1138)
  at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130)
  at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:193)
  at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:133)
  at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.cloneRepository(GitCloneTaskImpl.java:812)
  at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:681)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
  at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
  ... 3 more
Re: How to redirect git clone to use https instead of git: protocol? [message #1705149 is a reply to message #1705144] Wed, 12 August 2015 13:06 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33257
Registered: July 2009
Senior Member
Michael,

Ask them to change it. It looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<git:GitCloneTask
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:git="http://www.eclipse.org/oomph/setup/git/1.0"
xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0
http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore"
id="git.clone.xtext"
remoteURI="git@xxxxxxxx:eclipse/xtext.git"
checkoutBranch="${xtext.git.branch}">
<description>${scope.project.label}</description>
</git:GitCloneTask>


So they've hard coded the remoteURI to be what they personally prefer
rather than given clients the choice. You see in Oomph's setup, the
remoteURI just specifies a "base" URI and choices are induced from that
base. This way the client can choose Gerrit or not and can choose http,
ssh, and so forth.

<?xml version="1.0" encoding="UTF-8"?>
<git:GitCloneTask
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:git="http://www.eclipse.org/oomph/setup/git/1.0"
xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0
http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore"
id="git.clone.oomph"
remoteURI="oomph/org.eclipse.oomph"
checkoutBranch="master">
<annotation
source="http://www.eclipse.org/oomph/setup/InducedChoices">
<detail
key="inherit">
<value>eclipse.git.gerrit.remoteURIs</value>
</detail>
<detail
key="label">
<value>Oomph Git or Gerrit Repository</value>
</detail>
<detail
key="target">
<value>remoteURI</value>
</detail>
</annotation>
<description>Oomph</description>
</git:GitCloneTask>

Most project setups have been authored this way, so ask the Xtext guys
to follow that approach too.



On 12/08/2015 2:42 PM, Michael Vorburger wrote:
> Hallo,
>
> I'm behind a corporate firewall which blocks e.g. git clone
> mailto:git@xxxxxxxx:eclipse/xtext.git and so we would have to use
> git clone https://github.com/eclipse/xtext.git.
> Oomph's Xtext setup model however uses
> mailto:git@xxxxxxxx:eclipse/xtext.git and so fails for us with the
> error who's full detalis are shown below.
>
> Is it possible to teach Oomph to always use https instead of git
> protocol with jgit? If this is not supported yet, would a new Bugzilla
> about this be welcome? Is there any short-term workaround for this?
>
> Would a new Bugzilla to have Oomph do this automatically whenever a
> proxy is detected be useful? à la what they're doing e.g. in
> https://github.com/bower/bower/issues/731.
>
> Thank you!
>
> Performing Git Clone git@xxxxxxxx:eclipse/xtext.git (master)
> Cloning Git repo git@xxxxxxxx:eclipse/xtext.git to
> /home/mvorburger/dev/Xtext/git/xtext
> java.lang.Exception: org.eclipse.jgit.api.errors.TransportException:
> git@xxxxxxxx:eclipse/xtext.git: timeout: socket is not established
> at
> org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:756)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
> at
> org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:542)
> at
> org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:627)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
> Caused by: org.eclipse.jgit.api.errors.TransportException:
> git@xxxxxxxx:eclipse/xtext.git: timeout: socket is not established
> at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:139)
> at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:193)
> at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:133)
> at
> org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.cloneRepository(GitCloneTaskImpl.java:812)
> at
> org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:681)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
> at
> org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:542)
> at
> org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:627)
> ... 1 more
> Caused by: org.eclipse.jgit.errors.TransportException:
> git@xxxxxxxx:eclipse/xtext.git: timeout: socket is not established
> at
> org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159)
> at
> org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)
> at
> org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)
> at
> org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)
> at
> org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:136)
> at
> org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
> at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1138)
> at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130)
> at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:193)
> at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:133)
> at
> org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.cloneRepository(GitCloneTaskImpl.java:812)
> at
> org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:681)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
> at
> org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:542)
> ... 2 more
> Caused by: com.jcraft.jsch.JSchException: timeout: socket is not
> established
> at com.jcraft.jsch.Util.createSocket(Util.java:394)
> at com.jcraft.jsch.Session.connect(Session.java:215)
> at
> org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)
> at
> org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)
> at
> org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)
> at
> org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)
> at
> org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:136)
> at
> org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
> at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1138)
> at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130)
> at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:193)
> at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:133)
> at
> org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.cloneRepository(GitCloneTaskImpl.java:812)
> at
> org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:681)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:2952)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2911)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:3996)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:3990)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:3988)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2902)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2877)
> at
> org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2771)
> ... 3 more


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How to redirect git clone to use https instead of git: protocol? [message #1705158 is a reply to message #1705149] Wed, 12 August 2015 13:38 Go to previous message
Michael Vorburger is currently offline Michael VorburgerFriend
Messages: 103
Registered: July 2009
Senior Member
Thank you Ed; I've created https://bugs.eclipse.org/bugs/show_bug.cgi?id=474805 about this.

Also FTR I've actually found an easy local workaround in the mean time: If you just manually git clone yourself, into the right directory, Oomph will recognize it and skip the git clone.
Previous Topic:Simple project setup with custom git repo?
Next Topic:Oomph setup for PyDev
Goto Forum:
  


Current Time: Tue Dec 03 00:31:28 GMT 2024

Powered by FUDForum. Page generated in 0.04643 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top