Jump to content

The Comprehensive Kerbal Archive Network (CKAN) Package Manager; v1.18.0 [19 June 2016]


pjf
 Share

Recommended Posts

I've updated the User guide for installing CKAN on OS X to include the steps in my earlier post. Hope it works.

Ckan is now running.

I must admit I felt like a fool having forgot simple (ok the MOST simple) command line inputs, but hay ho...

It took awhile for me to get familiar with the laggy window refresh and the non-intuitive screens, select buttons, etc. Now this comes from someone who always tries it first without reading the manual. But so far it seems to be working.

I did get a few forbidden resources or server not available messages regarding some of the optional RO mods. nothing important. I assume these mods have not yet propagated across the various repositories.

Thanks again for your help!

Link to comment
Share on other sites

Hi,

I was creating a new .netkan file for my mod which is hosted on kerbalstuff.com, and am getting errors.

Here is the file:

spacetux.netkan

{
"spec_version" : 1,
"identifier" : "spacetux",
"$kref" : "#/ckan/kerbalstuff/647",
"x_netkan_license_ok": true
}

and here are the errors:

mono ~/Desktop/Kerbal/Installs/KSP_osx_CKAN/netkan.exe  -v spacetux.netkan
126 [1] INFO CKAN.KSP (null) - KSP found at ~/Desktop/Kerbal/Installs/KSP_osx_CKAN
140 [1] INFO CKAN.NetKAN.MainClass (null) - Using CKAN cache at ~/Desktop/Kerbal/Installs/KSP_osx_CKAN/CKAN/downloads
140 [1] INFO CKAN.NetKAN.MainClass (null) - Processing spacetux.netkan
803 [1] INFO CKAN.NetKAN.MainClass (null) - Inflating from KerbalStuff... #/ckan/kerbalstuff/647


Unhandled Exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> CKAN.BadMetadataKraken: The license CC BY-NC-SA 4.0 is invalid
at CKAN.License..ctor (System.String license) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
at System.Reflection.MonoCMethod.DoInvoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args, System.Object[] activationAttributes) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in <filename unknown>:0
at CKAN.JsonSimpleStringConverter.ReadJson (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Object existingValue, Newtonsoft.Json.JsonSerializer serializer) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable (Newtonsoft.Json.JsonConverter converter, Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Object existingValue) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue (Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.JsonConverter propertyConverter, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, Newtonsoft.Json.JsonReader reader, System.Object target) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject (System.Object newObject, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.String id) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> CKAN.BadMetadataKraken: The license CC BY-NC-SA 4.0 is invalid
at CKAN.License..ctor (System.String license) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
at System.Reflection.MonoCMethod.DoInvoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args, System.Object[] activationAttributes) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in <filename unknown>:0
at CKAN.JsonSimpleStringConverter.ReadJson (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Object existingValue, Newtonsoft.Json.JsonSerializer serializer) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable (Newtonsoft.Json.JsonConverter converter, Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Object existingValue) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue (Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.JsonConverter propertyConverter, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, Newtonsoft.Json.JsonReader reader, System.Object target) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject (System.Object newObject, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.String id) [0x00000] in <filename unknown>:0
Jonathan-Bayers-MacBook-Pro-new:spacetux jbayer$

So I replaced the line:

"x_netkan_license_ok": true

with

"license"       :       "CC BY-NC-SA 4.0"

and got the same error.

This is running on a Mac with mono 3.12, and a copy of netkan which appears to be about 4 months old:

netkan.exe  --version
KerbalStuff 1.0.5471.20830

If I replace the license data with something like

"restricted"

it works.

It appears to NOT like the license

"CC BY-NC-SA 4.0"

Is this something I should raise on github?

Edit: I saw in ckan that the license "CC-BY-NC-SA" was accepted, so I tried this instead:

 "license"       :       "CC-BY-NC-SA-4.0"

and it worked. so it appears that netkan can't accept spaces in the license (or any) field.

This may be why a number of entries on kerbalstuff.com aren't showing up in CKAN, since they use the "CC BY-NC-SA 4.0" license and it's not valid.

Edited by linuxgurugamer
new information
Link to comment
Share on other sites

I saw that netkan must have an exact match to what it already knows.

Would it make sense that if it is unrecognized, to use the word "unknown" instead of just ignoring it? I think that might make a number of mods on kerbalstuff available which currently aren't

- - - Updated - - -

I'm not sure how to add this to ckan, can someone either do it for me OR give instructions on how to do it?

Thanks

{
"spec_version" : 1,
"identifier" : "spacetux",
"$kref" : "#/ckan/kerbalstuff/647",
"x_netkan_license_ok": true
}

Link to comment
Share on other sites

I saw that netkan must have an exact match to what it already knows.

Would it make sense that if it is unrecognized, to use the word "unknown" instead of just ignoring it? I think that might make a number of mods on kerbalstuff available which currently aren't

- - - Updated - - -

I'm not sure how to add this to ckan, can someone either do it for me OR give instructions on how to do it?

Thanks

{
"spec_version" : 1,
"identifier" : "spacetux",
"$kref" : "#/ckan/kerbalstuff/647",
"x_netkan_license_ok": true
}

A good place to start is here https://github.com/KSP-CKAN/CKAN-support/wiki/Adding-a-mod-to-the-CKAN

However KS have already added a pull request on your behalf since I assume you choose the CKAN option on there? Here it is https://github.com/KSP-CKAN/NetKAN/pull/841

Link to comment
Share on other sites

A good place to start is here https://github.com/KSP-CKAN/CKAN-support/wiki/Adding-a-mod-to-the-CKAN

However KS have already added a pull request on your behalf since I assume you choose the CKAN option on there? Here it is https://github.com/KSP-CKAN/NetKAN/pull/841

I did, thanks for checking.

And I see it failed for reasons I speciified earlier. I've updated kerbalstuff with a license it will accept, when will that get pulled?

Edited by linuxgurugamer
Link to comment
Share on other sites

Following up my earlier post, there are currently 15 mods which have failed to be merged because of this error with the license. The mods in question are:

Banking from Kerbal Stuff 3 hours ago

Kerbalized Flags and Space Agencies from Kerbal Stuff 16 hours ago

Spacetux - Unmanned Contracts from Kerbal Stuff a day ago

Contract Reward Modifier from Kerbal Stuff 2 days ago

Insystem Mod for Kopernicus from Kerbal Stuff 3 days ago

Mk2 cockpit expansion from Kerbal Stuff 4 days ago

Constellation Essentials from Kerbal Stuff 4 days ago

Advanced Progression Contracts from Kerbal Stuff 4 days ago

Multi-Layer Insulation Blankets from Kerbal Stuff 4 days ago

Star-Trek Style Engines for KSPI from Kerbal Stuff 6 days ago

Real Solar System Expansion Pack - Dwarf Planets, Moons, and more from Kerbal Stuff 7 days ago

K2 from Kerbal Stuff 11 days ago

Kerbol Plus from Kerbal Stuff 14 days ago

[unfinished] Airliner Resource Pack from Kerbal Stuff 15 days ago

Outer Planets Plus from Kerbal Stuff 16 days ago

Given the number of problems, it seems to me that you need to be more flexible with this field. Either that, or look for a common license which fails and add it.

Don't get me wrong. I love CKAN and pretty much use it all the time. But when problems like this happen, it can be very frustrating both for the mod author and mod user.

Link to comment
Share on other sites

Following up my earlier post, there are currently 15 mods which have failed to be merged because of this error with the license. The mods in question are:

Banking from Kerbal Stuff 3 hours ago

Kerbalized Flags and Space Agencies from Kerbal Stuff 16 hours ago

Spacetux - Unmanned Contracts from Kerbal Stuff a day ago

Contract Reward Modifier from Kerbal Stuff 2 days ago

Insystem Mod for Kopernicus from Kerbal Stuff 3 days ago

Mk2 cockpit expansion from Kerbal Stuff 4 days ago

Constellation Essentials from Kerbal Stuff 4 days ago

Advanced Progression Contracts from Kerbal Stuff 4 days ago

Multi-Layer Insulation Blankets from Kerbal Stuff 4 days ago

Star-Trek Style Engines for KSPI from Kerbal Stuff 6 days ago

Real Solar System Expansion Pack - Dwarf Planets, Moons, and more from Kerbal Stuff 7 days ago

K2 from Kerbal Stuff 11 days ago

Kerbol Plus from Kerbal Stuff 14 days ago

[unfinished] Airliner Resource Pack from Kerbal Stuff 15 days ago

Outer Planets Plus from Kerbal Stuff 16 days ago

Given the number of problems, it seems to me that you need to be more flexible with this field. Either that, or look for a common license which fails and add it.

Don't get me wrong. I love CKAN and pretty much use it all the time. But when problems like this happen, it can be very frustrating both for the mod author and mod user.

Generally mods are pulled rather quickly and when they fail a check someone fix them manually.

As for the mods you list it isn't only the license that prevents them from being added. Some of them require overwriting of files from other mods which isn't supported in CKAN, others depend on mods that are not indexed in CKAN so adding them won't do anything.

As for spacetux it baffles me I haven't gotten the .netkan to work yet. I can't even inflate the one in the .zip file but I assume it works for you since the .ckan file appears to have been generated from it?

Link to comment
Share on other sites

Generally mods are pulled rather quickly and when they fail a check someone fix them manually.

As for the mods you list it isn't only the license that prevents them from being added. Some of them require overwriting of files from other mods which isn't supported in CKAN, others depend on mods that are not indexed in CKAN so adding them won't do anything.

As for spacetux it baffles me I haven't gotten the .netkan to work yet. I can't even inflate the one in the .zip file but I assume it works for you since the .ckan file appears to have been generated from it?

The original license I had was invalid, according to netkan, I updated it so that netkan now accepts it. That original pull request was done yesterday, there is a newer version on kerbalstuff.com now

Here is the output of netkan when I just ran it:

$ mono ~/Desktop/Kerbal/Installs/KSP_osx_CKAN/netkan.exe  -v spacetux.netkan
124 [1] INFO CKAN.KSP (null) - KSP found at ~/Desktop/Kerbal/Installs/KSP_osx_CKAN
138 [1] INFO CKAN.NetKAN.MainClass (null) - Using CKAN cache at ~/Desktop/Kerbal/Installs/KSP_osx_CKAN/CKAN/downloads
138 [1] INFO CKAN.NetKAN.MainClass (null) - Processing spacetux.netkan
1000 [1] WARN CKAN.NetKAN.MainClass (null) - Not inflating metadata for spacetux
1039 [1] INFO CKAN.NetKAN.MainClass (null) - Writing final metadata to ./spacetux-0.2.0.ckan

and the file I get is:

$cat spacetux-0.2.0.ckan
{
"spec_version": 1,
"identifier": "spacetux",
"x_netkan_license_ok": true,
"resources": {
"kerbalstuff": "https://kerbalstuff.com/mod/647/Spacetux%20-%20Unmanned%20Contracts"
},
"ksp_version": "0.90",
"name": "Spacetux - Unmanned Contracts",
"license": "CC-BY-NC-SA-4.0",
"abstract": "Extensive series of unmanned contracts",
"author": "linuxgurugamer",
"version": "0.2.0",
"download": "https://kerbalstuff.com/mod/647/Spacetux%20-%20Unmanned%20Contracts/download/0.1.0",
"x_generated_by": "netkan",
"download_size": 83245
}

Link to comment
Share on other sites

The original license I had was invalid, according to netkan, I updated it so that netkan now accepts it. That original pull request was done yesterday, there is a newer version on kerbalstuff.com now

Here is the output of netkan when I just ran it:

$ mono ~/Desktop/Kerbal/Installs/KSP_osx_CKAN/netkan.exe  -v spacetux.netkan
124 [1] INFO CKAN.KSP (null) - KSP found at ~/Desktop/Kerbal/Installs/KSP_osx_CKAN
138 [1] INFO CKAN.NetKAN.MainClass (null) - Using CKAN cache at ~/Desktop/Kerbal/Installs/KSP_osx_CKAN/CKAN/downloads
138 [1] INFO CKAN.NetKAN.MainClass (null) - Processing spacetux.netkan
1000 [1] WARN CKAN.NetKAN.MainClass (null) - Not inflating metadata for spacetux
1039 [1] INFO CKAN.NetKAN.MainClass (null) - Writing final metadata to ./spacetux-0.2.0.ckan

and the file I get is:

$cat spacetux-0.2.0.ckan
{
"spec_version": 1,
"identifier": "spacetux",
"x_netkan_license_ok": true,
"resources": {
"kerbalstuff": "https://kerbalstuff.com/mod/647/Spacetux%20-%20Unmanned%20Contracts"
},
"ksp_version": "0.90",
"name": "Spacetux - Unmanned Contracts",
"license": "CC-BY-NC-SA-4.0",
"abstract": "Extensive series of unmanned contracts",
"author": "linuxgurugamer",
"version": "0.2.0",
"download": "https://kerbalstuff.com/mod/647/Spacetux%20-%20Unmanned%20Contracts/download/0.1.0",
"x_generated_by": "netkan",
"download_size": 83245
}

I looked at the .netkan file as listed by this link: https://github.com/KSP-CKAN/NetKAN/pull/841/files

It looks like the .netkan file is still the original submitted by kerbalstuff with the wrong license info:

{
"$kref": "#/ckan/kerbalstuff/647",
"spec_version": 1,
"identifier": "SpacetuxUnmannedContracts",
"x_via": "Automated KerbalStuff CKAN submission",
"license": "CC BY-NC-SA 4.0"
}

The license is wrong, I fixed it on kerbalstuff and in my files, but it doesn't seem to have propogated to github. The license should be:

"license": "CC-BY-NC-SA-4.0",

Hope this helps

Edited by linuxgurugamer
Link to comment
Share on other sites

I just had an idea concerning a future feature. Thread search did not turn up with something so I 'll let it it fly: Ist it possible to add an export/import function for the installed mods? I mean a simple file containing the checks on all things we had installed. I usually tend to forget one or two when updating or reinstalling the game.

Link to comment
Share on other sites

I just had an idea concerning a future feature. Thread search did not turn up with something so I 'll let it it fly: Ist it possible to add an export/import function for the installed mods? I mean a simple file containing the checks on all things we had installed. I usually tend to forget one or two when updating or reinstalling the game.

You can copy the installed-default.ckan file to take a snapshot of your currently installed mods. Then you may install that on another install of KSP using either the GUI or CLI. More information here https://github.com/KSP-CKAN/CKAN-support/wiki/Sharing-a-modlist-%28metapackages%29

Link to comment
Share on other sites

I looked at the .netkan file as listed by this link: https://github.com/KSP-CKAN/NetKAN/pull/841/files

It looks like the .netkan file is still the original submitted by kerbalstuff with the wrong license info:

{
"$kref": "#/ckan/kerbalstuff/647",
"spec_version": 1,
"identifier": "SpacetuxUnmannedContracts",
"x_via": "Automated KerbalStuff CKAN submission",
"license": "CC BY-NC-SA 4.0"
}

The license is wrong, I fixed it on kerbalstuff and in my files, but it doesn't seem to have propogated to github. The license should be:

"license": "CC-BY-NC-SA-4.0",

Hope this helps

I'm going to have to rename this mod, to make it more compatible with the ContractConfigurator

Since it isn't in CKAN yet, will it be a problem if I just go ahead and update kerbalstuff with the new file? If you just go ahead and delete that pull request, I'll upload a new one which will (hopefully) work.

This change is needed because the mod isn't really spacetux. Spacetux is my agency, and the mod is going to be called "Contract Pack: Unmanned Missions", I'll be adding a new one soon for rover missions.

Please PM me when you've deleted it.

Thanks

Link to comment
Share on other sites

So, I uploaded the netkan file about 6 hours ago, and it apparently is fine:

https://github.com/KSP-CKAN/CKAN-meta/commit/5782ccc540a8081141159017b507f41f8a3d0a0c#diff-e961ff44ef2f7d099c174fa5875bb734

Has it been accepted? and if so (or not), when will it appear in CKAN?

Thanks

According to the Jenkins build, it was successful:

http://ci.ksp-ckan.org:8080/job/PR%20builder%20-%20CKAN-meta/150/

https://github.com/KSP-CKAN/CKAN-meta/pull/334

Did I do anything wrong? This was finished 10 hours ago, I don't see it in CKAN yet after doing a refresh.

Thanks

Edited by linuxgurugamer
Link to comment
Share on other sites

A question about shared files between mods.

I have one mod (Unmanned Contracts) and am starting to work on another (Rover Contracts). They both use an agency I created, Spacetux. These are all using the ContractConfigurator mod

So, here is the issue.

The cfg files for these all live in ContractPacks/spacetux

The agency is defined in a file: agent.cfg

I also have a ContractGroup defined in another file: contract.cfg

I would like to make it so that the two mods (Unmanned and Rover) can be installed independently of each other, but still include the agent.cfg and contract.cfg if it doesn't exist. How can I include these two files in the zip file for each mod and allow them to overwrite (or just not be written).

Shared files:

ContractPacks/spacetux/agent.cfg

ContractPacks/spacetux/contract.cfg

Files for UnmannedContracts:

ContractPacks/spacetux/minmus_unmanned.cfg

ContractPacks/spacetux/mun_unmanned.cfg

Files for RoverContracts:

ContractPacks/spacetux/minmus_rover.cfg

ContractPacks/spacetux/mun_rover.cfg

Thanks

Link to comment
Share on other sites

https://github.com/KSP-CKAN/CKAN-meta/pull/334

Did I do anything wrong? This was finished 10 hours ago, I don't see it in CKAN yet after doing a refresh.

Netkan files go to the NetKAN repo, not to the CKAN-meta. I'll whip up a PR real quick.

- - - Updated - - -

Netkan files go to the NetKAN repo, not to the CKAN-meta. I'll whip up a PR real quick.

PR created and merged, expect the CKAN file within the hour.

Link to comment
Share on other sites

A question about shared files between mods.

I have one mod (Unmanned Contracts) and am starting to work on another (Rover Contracts). They both use an agency I created, Spacetux. These are all using the ContractConfigurator mod

So, here is the issue.

The cfg files for these all live in ContractPacks/spacetux

The agency is defined in a file: agent.cfg

I also have a ContractGroup defined in another file: contract.cfg

I would like to make it so that the two mods (Unmanned and Rover) can be installed independently of each other, but still include the agent.cfg and contract.cfg if it doesn't exist. How can I include these two files in the zip file for each mod and allow them to overwrite (or just not be written).

Shared files:

ContractPacks/spacetux/agent.cfg

ContractPacks/spacetux/contract.cfg

Files for UnmannedContracts:

ContractPacks/spacetux/minmus_unmanned.cfg

ContractPacks/spacetux/mun_unmanned.cfg

Files for RoverContracts:

ContractPacks/spacetux/minmus_rover.cfg

ContractPacks/spacetux/mun_rover.cfg

Thanks

Create a third mod called something like "spacetux-core" and have both mods depend on that one while filtering those files from the contract packs. For an example you can look at how e.g. OkramSA/ODFC/SatBatt work together.

Link to comment
Share on other sites

Create a third mod called something like "spacetux-core" and have both mods depend on that one while filtering those files from the contract packs. For an example you can look at how e.g. OkramSA/ODFC/SatBatt work together.

How obvious it is in hindsight.

Thank you!

Link to comment
Share on other sites

Thanks again for this great tool!

Is there any way we can sort by latest upload date/time so that we can tell what has been update/uploaded recently?

Link to comment
Share on other sites

is there a problem with netkan right now? (1:45PM EDT)?

I can't do a "mono netkan.exe -v file.netkan" on anything. I tried with my own, and then tried with a number of netkan files from the git repo. They all return the following (and yes, I did do the " mozroots --import --ask-remove" command):

This is on a Mac

mono /Users/jbayer/Desktop/Kerbal/Installs/KSP_osx_test/netkan.exe -v  unmannedcontracts.netkan
240 [1] INFO CKAN.KSP (null) - KSP found at /Users/jbayer/Desktop/Kerbal/Installs/KSP_osx_test
283 [1] INFO CKAN.NetKAN.MainClass (null) - Using CKAN cache at /Users/jbayer/Desktop/Kerbal/Installs/KSP_osx_test/CKAN/downloads
283 [1] INFO CKAN.NetKAN.MainClass (null) - Processing unmannedcontracts.netkan


Unhandled Exception:
System.Net.WebException: Error: SendFailure (Error writing headers) ---> System.Net.WebException: Error writing headers ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
at Mono.Security.Protocol.Tls.RecordProtocol.ProcessAlert (AlertLevel alertLevel, AlertDescription alertDesc) [0x00000] in <filename unknown>:0
at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (IAsyncResult result) [0x00000] in <filename unknown>:0
at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0
at System.Net.WebClient.GetWebResponse (System.Net.WebRequest request) [0x00000] in <filename unknown>:0
at System.Net.WebClient.ReadAll (System.Net.WebRequest request, System.Object userToken) [0x00000] in <filename unknown>:0
at System.Net.WebClient.DownloadDataCore (System.Uri address, System.Object userToken) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Net.WebException: Error: SendFailure (Error writing headers) ---> System.Net.WebException: Error writing headers ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
at Mono.Security.Protocol.Tls.RecordProtocol.ProcessAlert (AlertLevel alertLevel, AlertDescription alertDesc) [0x00000] in <filename unknown>:0
at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (IAsyncResult result) [0x00000] in <filename unknown>:0
at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0
at System.Net.WebClient.GetWebResponse (System.Net.WebRequest request) [0x00000] in <filename unknown>:0
at System.Net.WebClient.ReadAll (System.Net.WebRequest request, System.Object userToken) [0x00000] in <filename unknown>:0
at System.Net.WebClient.DownloadDataCore (System.Uri address, System.Object userToken) [0x00000] in <filename unknown>:0

Link to comment
Share on other sites

Hey everyone,

We've hit a problem with mono not supporting newer forms of encryption of out of the box. If you're using a Mac or Linux machine, this will manifest as you being unable to install mods from KerbalStuff, along with the NetKAN errors that linuxgurugamer saw above.

I'm working on a netkan fix, but I've got a testing version of the CKAN client that you can use for installing mods if you're on a Mac/Linux system. I'm still doing my own testing, but if everything checks out there'll be a new release in the next 24 hours or less.

Please note that a side-effect of the work-around that I'm using is that the client won't report progress (it'll seem to jump from "downloading" to "installing") when it activates, and that files will be downloaded sequentially rather than in parallel. Neither of these are ideal, but they're a *lot* better than being unable to install mods at all. The work-around should have no effect under Windows (which uses the .NET native libraries rather than mono).

For the technically inclined, we're falling back to blocking curlsharp calls (thanks to mgsdk for the suggestion). In future releases we should be able to convert everything over to native curlsharp, so we're not juggling two implementations at once.

~ pjf

Link to comment
Share on other sites

This did not seem to work in my case. Running CKAN on Ubuntu 14.04, and when downloading from KerbalStuff, I still get the same error message as with the release version of CKAN:

83141 [1] ERROR CKAN.ErrorDialog (null) - Failed to download "https://kerbalstuff.com/mod/249/SCANsat/download/v10.0" - error: Error: SendFailure (Error writing headers)

Trying to retrieve the same URL through either Firefox or simple wget seems to work fine.

Would it be a suggestion to use HTTP instead of HTTPS or fall back to the Github repository (if that's specified in the metadata) if a certain server fails to download?

Link to comment
Share on other sites

This did not seem to work in my case. Running CKAN on Ubuntu 14.04, and when downloading from KerbalStuff, I still get the same error message as with the release version of CKAN:

83141 [1] ERROR CKAN.ErrorDialog (null) - Failed to download "https://kerbalstuff.com/mod/249/SCANsat/download/v10.0" - error: Error: SendFailure (Error writing headers)

Trying to retrieve the same URL through either Firefox or simple wget seems to work fine.

Would it be a suggestion to use HTTP instead of HTTPS or fall back to the Github repository (if that's specified in the metadata) if a certain server fails to download?

Gosh dang it. I'm still discovering how curlsharp works underneath. Alas, falling back to http isn't an option (KS forces https), and the metadata doesn't allow for multiple locations (although you could configure to download from the CKAN mirror, which would probably help).

As for ubuntu, can you try `apt-get install libcurl3` and then trying again? I'm *hoping* it's just looking for a local libcurl library and failing.

~ pjf

Link to comment
Share on other sites

This did not seem to work in my case. Running CKAN on Ubuntu 14.04, and when downloading from KerbalStuff, I still get the same error message as with the release version of CKAN:

83141 [1] ERROR CKAN.ErrorDialog (null) - Failed to download "https://kerbalstuff.com/mod/249/SCANsat/download/v10.0" - error: Error: SendFailure (Error writing headers)

Trying to retrieve the same URL through either Firefox or simple wget seems to work fine.

Would it be a suggestion to use HTTP instead of HTTPS or fall back to the Github repository (if that's specified in the metadata) if a certain server fails to download?

So, the good news is that `sudo apt-get install libcurl4-openssl-dev` should *hopefully* get the test build to work happily under Linux. The bothersome news is that may install an extra 50Mb worth of packages.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...