MarisElsins / getMOSPatch

getMOSPatch V2 - Tool that helps downloading patches from My Oracle Support
58 stars 17 forks source link

getMOSPatch is broken again #34

Closed ket000 closed 4 months ago

ket000 commented 9 months ago

As of 12/4/2023, Oracle may have changed the patch download url. It seems to be not working. Please take a look and see if we can modify the code. Thank you very much as this is a valuable tool for us to download pum and other patches. Hopefully, MOS can support a well defined API to support this.

ikzelf commented 9 months ago

In the java variant I get java -jar getMOSPatch.jar MOSUser=my.mos.account patch=6880880 regexp=.1900.* download=all Enter your MOS password: Platforms and languages need to be reset. Obtaining the list of platforms and languages: | Enter Comma separated platforms to list: 226P ERROR: Unparseable inputs. Try Again. no matter what I enter, unparseable is returned.

The good old shell script I still use does get all files in the download, only they contain html output and not the requested zip files.

sinksc commented 9 months ago

According to this document in My Oracle Support (Doc ID 2990249.1):

November 29, 2023. MyOracleSupport (MOS) has made a change in its identity management, switching from Oracle Access Manager (OAM) to Oracle Identity Cloud Service (IDCS). OAM has been used by client applications, but is being disabled in the near future.

ket000 commented 8 months ago

Any chance this will be fixed. I was hoping to use this for jan cpu patch download.

ikzelf commented 8 months ago

I changed my process to use https://github.com/lucaslellis/oracle_quarter_patch_downloader which works nicely now.

ket000 commented 8 months ago

Thanks for tge link. Will try that.

ket000 commented 8 months ago

I changed my process to use https://github.com/lucaslellis/oracle_quarter_patch_downloader which works nicely now.

It is working for me, but I am not able to figure out how to ignore the cerain releases. For e.g. I only want to download 19c files, so I made this, but it is still downloading everything.

My config json has below

"ignored_releases": [ "^(8|9|10|11|12|18|20|21|23).+", "^101.+", "^111.+", "^112.+", "^1120[^4].+" ], However it is downloading everything.

I only want to download 19c file. How can I do that.

ikzelf commented 8 months ago

This tool works slightly different and downloads all versions of opatch for the given platforms. It only downloads the file[s] if it is not already existing in your download location. For the rdbms patches it only downloads the recommended patches for the version[s] that is/are not ignored for the specified platform.

ket000 commented 8 months ago

Ok. Thanks for the explanation. So ignored_releases is not used when downloading the opatch. At least it works fine for the oracle/weblogic/java patches so I will contounue to use this tool till getMOSPatch is fixed. Thanks for pointing out this tool as it worked perfectly fine and saved valuable time. For some reason, opatch patches for few other releases did not match the hash. I did not saw the same issue for other patches. In short it is ussble for what I want to do.

ojehle commented 8 months ago

I wrote a tool to download patches from support. Feel free to use it.

https://github.com/ojehle/H35_OraclePatchDownloader

ket000 commented 7 months ago

Thanks. I will try it.

vinodbhaskaran commented 7 months ago

it appears oracle has changed the way you authenticate. It now uses Oracle Identity Cloud Service.

MyOracleSupport (MOS) has made a change in its identity management, switching from Oracle Access Manager (OAM) to Oracle Identity Cloud Service (IDCS). OAM has been used by client applications, but is being disabled in the near future. Disabling of the existing OAM client authorization is currently planned to be completed by December 11, 2023.

The new IDCS authentication is already enabled in MOS . The old connection method will continue to be supported for a very short time – only to December 11, 2023

I am not a java developer so I couldnt really fix it , however I did find some interesting read at https://docs.oracle.com/en/solutions/authenticate-java-app-with-identity-cloud/learn-authentication-java-applications-and-oracle-identity-cloud-service1.html#GUID-0C5DC5D2-E425-42BE-A983-710D4CAA85F8

It would be great if someone can fix this.

vinodbhaskaran commented 7 months ago

I have managed to fix this by changing the authentication section to use selenium and then store the cookies into a cookie manager store, Then re-use them for the rest of the logic using normal HTML method. It has binary dependencies and needs minimum of java 8. I also had to add some extra logic to pick which cookies to add for some URLs as server was returning HTTP 400 when i was sending more than required cookies.

erockg74 commented 5 months ago

@vinodbhaskaran how do you know which cookies to add for some URLs?

erockg74 commented 5 months ago

I'm troubleshooting this without much luck if anyone else has notes to share. Hoping @vinodbhaskaran will comment on how he's managing cookies. HTTP_SEE_OTHER 303 is thrown but I don't know if that's new with IDCS or makes any difference.

MarisElsins commented 4 months ago

Good news, Eric Guyer figured it out, and a new working version v2.7 is available. I haven't tested it very extensively, but I hope nothing else broke in the process. Happy patching!

ket000 commented 4 months ago

Thanks for posting the updated version. I just tried it and it is working again. Issue seems to be resolved. I now have 2 downloaders as a backup so that I can use one or the another in case it breaks again. Great job fixing the issue. I am using https://github.com/lucaslellis/oracle_quarter_patch_downloader as my backup patching tool.