{"id":31689532,"url":"https://github.com/radiator-software/p5-net-ssleay","last_synced_at":"2025-10-08T11:49:23.846Z","repository":{"id":33412557,"uuid":"138991556","full_name":"radiator-software/p5-net-ssleay","owner":"radiator-software","description":"Net-SSLeay: Perl bindings for OpenSSL and LibreSSL","archived":false,"fork":false,"pushed_at":"2025-09-06T13:44:58.000Z","size":2422,"stargazers_count":34,"open_issues_count":66,"forks_count":48,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-06T15:27:17.471Z","etag":null,"topics":["libressl","openssl","perl"],"latest_commit_sha":null,"homepage":"https://metacpan.org/release/Net-SSLeay","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radiator-software.png","metadata":{"files":{"readme":"README","changelog":"Changes","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-06-28T08:45:49.000Z","updated_at":"2025-08-27T12:17:10.000Z","dependencies_parsed_at":"2024-06-18T11:02:03.219Z","dependency_job_id":"3058ab84-f44a-48b7-bf0e-7fd1d10b4d3d","html_url":"https://github.com/radiator-software/p5-net-ssleay","commit_stats":{"total_commits":873,"total_committers":32,"mean_commits":27.28125,"dds":0.6311569301260023,"last_synced_commit":"53b94e4c804233292000fc67d9d580b28585a2b0"},"previous_names":[],"tags_count":85,"template":false,"template_full_name":null,"purl":"pkg:github/radiator-software/p5-net-ssleay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiator-software%2Fp5-net-ssleay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiator-software%2Fp5-net-ssleay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiator-software%2Fp5-net-ssleay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiator-software%2Fp5-net-ssleay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radiator-software","download_url":"https://codeload.github.com/radiator-software/p5-net-ssleay/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiator-software%2Fp5-net-ssleay/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278938947,"owners_count":26072275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["libressl","openssl","perl"],"created_at":"2025-10-08T11:49:22.804Z","updated_at":"2025-10-08T11:49:23.839Z","avatar_url":"https://github.com/radiator-software.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"Net-SSLeay - Perl bindings for OpenSSL and LibreSSL\n\nBy popular demand...\n--------------------\n\n   perl -MNet::SSLeay -e '($p)=Net::SSLeay::get_https(\"www.openssl.org\", 443, \"/\"); print $p'\n\n\nfor the released versions:\n   https://metacpan.org/release/Net-SSLeay\n\nfor the latest and possibly unstable version from git:\n   https://github.com/radiator-software/p5-net-ssleay\n\n\nPrerequisites\n-------------\n\nPerl 5.8.1 or higher.\n\nOne of the following libssl implementations:\n\n* Any stable release of OpenSSL (https://www.openssl.org) in the\n  0.9.8 - 3.2 branches, except for OpenSSL 0.9.8 - 0.9.8b.\n* Any stable release of LibreSSL (https://www.libressl.org) in the\n  2.0 - 3.8 series, except for LibreSSL 3.2.2 and 3.2.3.\n\nNet-SSLeay may not compile or pass its tests against releases other\nthan the ones listed above due to libssl API incompatibilities, or, in\nthe case of LibreSSL, because of deviations from the libssl API.\n\nIf you are using a version of OpenSSL or LibreSSL distributed by your\noperating system vendor, you may also need to install a \"development\"\npackage containing the header files that correspond to the OpenSSL or\nLibreSSL library package. Examples include:\n\n* libssl-dev for OpenSSL on Debian and Ubuntu;\n* openssl-devel for OpenSSL on Red Hat Enterprise Linux and Fedora.\n\nOn Linux, zlib is also required, even when libssl is built without\nsupport for TLS compression. zlib is probably also available via your\nLinux distribution's package manager, e.g.:\n\n* zlib1g-dev on Debian and Ubuntu;\n* zlib-devel on Red Hat Enterprise Linux and Fedora.\n\nA future version of Net-SSLeay will remove this requirement when\nbuilding against a libssl without support for TLS compression.\n\nIf there are build errors, test failures or run-time malfunctions, try\nto use the same compiler and options to compile your OpenSSL, Perl,\nand Net::SSLeay. Mixing compilers and options may lead to build\nerrors, test failures or run-time malfunctions, that are difficult to\ndebug. The situation in 2024 is that, for example, compiling Perl with\ngcc and Net::SSLeay with clang works on Linux and macOS. With Windows\nit may be easier to use the same compiler and compiler options.\n\n\nInstalling\n----------\n\nGeneral:\n\tMakefile.PL tries to find OpenSSL installation location from a\n\tnumber of pre-defined paths. It will print the version and\n\tlocation of OpenSSL or LibreSSL it finds, or warn if it doesn't\n\tfind anything usable.\n\n\tIf your OpenSSL is installed in an unusual place, you can tell\n\tMakefile.PL from where to find it with by setting the\n\tOPENSSL_PREFIX environment variable.\n\n\tOn Linux, macOS and other Unix type systems:\n\tOPENSSL_PREFIX=/home/mikem/playpen/openssl-1.0.2c perl Makefile.PL\n\n\tOn Windows:\n\tset OPENSSL_PREFIX=C:\\playpen\\openssl-1.0.2.c\n\tperl Makefile.PL\n\n\tThe logic in Makefile.PL tries to resolve the required\n\tlibraries and include directories based on the environment\n\tvariable OPENSSL_PREFIX.\n\nUnix:\n\tBuild or install OpenSSL as per instructions in that\n\tpackage. Review section 'General:' above before continuing.\n\n\tgunzip \u003cNet-SSLeay.pm-1.35.tar.gz | tar xvf -\n\tcd Net-SSLeay.pm-1.35\n\tperl Makefile.PL     # Build it. Use OPENSSL_PREFIX, if needed.\n\tmake test            # Run the test suite\n\tmake install         # You probably have to su to root to do this\n\nHPUX:\n\tIn principle the Unix build should work (Makefile.PL contains\n\tspecial code to detect aCC), but historically there have been\n\tsome problems. Marko Asplund (aspa@@kronodoc._fi) reports\n\tthat he has successfully compiled on HP-UX. He used following\n\tincantations\n\n\tConfiguring OpenSSL:\n\n\t./Configure no-asm --prefix=/openssl/path hpux-parisc2-cc\n\n\tConfiguring Net::SSLeay:\n\n\tOPENSSL_PREFIX=/openssl/path perl Makefile.PL CCFLAGS='-D_HPUX_SOURCE \\\n\t -Aa -I/usr/local/include +e'\n\n\tThe magic bit seemed to be the `+e' flag. Since version 1.14\n\tMakefile.PL tries to figure this out.\n\n\tHe was using: gcc v2.95.2, OpenSSL v0.9.6c, Net::SSLeay-1.13\n\nWindows:\n\tSupported on 32 and 64 bit platforms\n\tSee README.Win32 for details\n\nmacOS, also known as OS X:\n\tSee README.OSX\n---------------------------------\nYou should also be able to use CPAN.pm to install this module if you like.\n\nProblems (read this before filing a bug)\n----------------------------------------\n\nPlease, do not send bug report before you have\n\n  - compiled your OpenSSL yourself - don't copy binaries, please\n  - compiled your perl yourself and with substantially same CFLAGS\n    and same C compiler (say `which cc' or `which gcc') as your OpenSSL.\n    This is especially applicable to link errors and shared\n    library loading problems. Please do not even dream of\n    copying a perl binary or installing perl binary from a package.\n    Perl's idea of calling conventions has to match OpenSSL's and\n    unfortunately both are quite advanced pieces of code\n    (guru duel: Larry Wall vs. Eric Young :-) with dynamic loading\n    and who knows what\n  - compiled my module from source against correct perl (say `which perl'\n    and check your path). Generally my module's build process will\n    discover correct compiler and flags from `perl -V'\n  - tried gcc, if your vendor cc fails\n\nIf you post a question or make a bug report, please remember to mention\n\n  - Your platform and OS version (i386 Linux, Sparc Solaris, etc) (uname -a)\n  - On Linux, please report glibc version as well (ls -l /lib/libc*)\n  - Net::SSLeay version (see tar ball)\n  - OpenSSL version (`/usr/local/ssl/bin/openssl version')\n  - ANSI C compiler brand and version (e.g. gcc -v)\n\nIf build fails,\n  - Dop you have OpenSSL headers installed? Perhaps you need the OpenSSL Devel\n    package for your Linux distribution.\n  - three compiler warnings are known to be emitted (due to lack of const\n    in some places), one of them indicates a fatal bug in callback handling,\n    but as I have not yet sorted it out, you'll simply have to ignore it\n  - if you installed OpenSSL from some distribution, try getting a fresh\n    copy from www.openssl.org and recompiling and installing it yourself\n  - if using newer than supported OpenSSL, please downgrade to supported\n    version to see if it makes difference\n  - you must compile the module, perl, and openssl with the same C compiler\n    and the same options. Use perl -V to check what options were used and\n    recompile openssl and Net::SSLeay accordingly\n  - never report bugs related to binary installs. First compile _yourself_\n    perl, openssl and my module, always using the same compiler and\n    compiler flags. Many distros are known to \"know better\" and thus\n    cause problems for their users. I'm not very sympathetic to having\n    to answer end user questions thus created.\n  - send full output of `make clean; perl Makefile.PL -t'\n\nIf make test fails, please\n  - one warning is known to be emitted between tests 4 and 5 (callback)\n  - edit test.pl and set $trace=2\n  - send full output of `make clean; perl Makefile.PL -t'\n  - send contents of sslecho.log\n\nIf you have problems with a site, please\n  - what site, what server software (including version and platform)\n  - does it reproduce with s_client, try with something like\n\n   echo 'GET /' | /usr/local/ssl/bin/openssl s_client -connect www.bacus.pt:443\n\n  - does it reproduce with popular web browsers\n  - play with Net::SSLeay::ssl_version (see top of SSLeay.pm)\n  - does the site run exotic configuration, e.g. insisting on specific\n    protocol version, limiting available ciphers, using nonstandard\n    ciphers, weird authentication arrangements, etc.)\n  - contact the owner of the server to see what the problem looks like\n    in his end. He should be able to tell you the exact versions used\n    and the error messages he is seeing in his log\n  - if you ask me to check a site out, you are granting me permission\n    to access that site and will pay all legal expenses to defend me\n    in court as well as any remedies that may be granted to the site\n    in case the site decides to sue me. You warrant that you are\n    authorized to give me permission to access the site.\n  - if you ask me to check a site, please send me a working URL and\n    include any authentication credentials if needed. If your site\n    is so confidential that you can not give me an URL, then do\n    not ask me to debug your problems.\n\nHP-UX is known to give some problems, please mail me or the mailing\nlist so we can get these problems straightened. Hint: it has to do\nwith dynamic loading. One user reports that adding `-lgcc' to EXTRALIBS\nand LD_LOAD_LIBS in Makefile fixes the problem. I have not received any\nconfirmation whether this fix really works, but its worth a try. Another\nbag of problems is people installing against binary distributed\nperl and compiling the package with different cc or different options.\nGenereally this will never work. Please compile _yourself_ your perl,\nopenssl, and the module, always with the same compiler and compiler flags.\n\nSolaris 8 does not come standard with /dev/random or /dev/urandom, and the\n'make test' assumes that some source of randomness is available. 'make test'\nwill fail on Solaris 8 if /dev/urandom is not available. The error message\nseen with trace enabled will be \"SSL_GET_NEW_SESSION:ssl session id callback\nfailed\". In order to fix this, you must install Sun patch 112438-03 from\nhttp://sunsolve.sun.com\n\n#: unzip 112438-03.zip\n#: patchadd ./112438-03\nYou will probably need to reboot your system:\n#: reboot\n\nI have a report (schinder@@pobox._com) of make test segfaulting on\nLinux-PPC. This still needs to be investigated. No recent information\nhas been received.\n\n\"Random number generator not seeded!!!\" This warning indicates that\n    randomize() was not able to read /dev/random or /dev/urandom, possibly\n    because your system does not have them or they are differently\n    named. You can still use SSL, but the encryption will not be as\n    strong.\n\nDid you read the POD documentation (if you don't know what that\nis, just say `perldoc Net::SSLeay' or `more SSLeay.pm')?\n\nAre you sure you didn't confuse `Net::SSLeay' with `SSLeay' that\ncomes with OpenSSL?\n\nCheck that perl is finding your OpenSSL.\n\nIf `make test' bombs, add following line to the test script that fails:\n\n\t$Net::SSLeay::trace = 2;\n\nand see what happens. You may also have to edit test.pl to make sure\nthe debugging output gets printed.\n\nIf `make test' prints lots of `connect: Connection refused...' errors,\nthen sslecho.pl test server has died. It is supposed to be launched in\nthe beginning of test.pl, but can fail if, e.g. port 1212 is taken or\nin TIMEWAIT state. Look also in ssleacho.log file for diagnostics.\n\nIf you are really low on memory and the 1 MB tests fail, edit value of\n$mb variable in test.pl.\n\nIf you get core dump, build your perl for debugging (add -g to\nccflags, see INSTALL in perl distribution), build your SSLeay for\ndebugging as well, add -g flag to Makefile.PL:\n\n\tmake clean\n\tperl Makefile.PL -g\n\tmake static\n\tmake test_static\n\tgdb perl core       # post mortem\n\t  \u003e bt              # show stack trace\n\tgdb perl            # run live with debugging\n\t  # set break point in SSLeay.xs or in suspect function of OpenSSL\n\t  \u003e br XS_Net__SSLeay_connect\n\t  \u003e run yourscript.pl arg arg\n\nFor gdb'ing make sure gdb finds all the relevant source code. This\nmay mean that you must run perl and OpenSSL from the directories where\nthe respective makefiles build them.\n\nYou can also enable PR and PRN macros in SSLeay.xs and sprinkle\neven some more around the code to figure out what's happening.\n\nSome exotic configurations of perl may cause unstability: make sure\nOpenSSL uses the same malloc as perl. Recompile perl without\nthreads. Try not using the PerlIO abstraction.\n\nIf you need to tweak build for some platform, please let me know\nso I can fix it. Patches and gdb session dumps are also welcome.\n\nCopyright\n---------\n\nCopyright (c) 1996-2003 Sampo Kellomäki \u003csampo@iki.fi\u003e\nCopyright (c) 2005-2010 Florian Ragwitz \u003crafl@debian.org\u003e\nCopyright (c) 2005-2018 Mike McCauley \u003cmikem@airspayce.com\u003e\nCopyright (c) 2018 Tuure Vartiainen \u003cvartiait@radiatorsoftware.com\u003e\nCopyright (c) 2018- Chris Novakovic \u003cchris@chrisn.me.uk\u003e\nCopyright (c) 2018- Heikki Vatiainen \u003chvn@radiatorsoftware.com\u003e\n\nAll rights reserved.\n\nLicense\n-------\n\nNet-SSLeay is released under the terms of the Artistic License 2.0. For\ndetails, see the LICENSE file.\n\nRecommended reading\n-------------------\n\n===\u003e HTTP protocol specification. It applies 100% to HTTPS too and doing\npassword authentication is explained there. \u003c===\n\nIf you are newbie interested in grabbing web pages from https servers,\nplease read HTTP documentation from http://www.w3c.org/ before asking trivial\nquestions. That document also covers the basic-auth FAQ (URLs like\nhttp://user:pass@host). Do not ask questions about authentication before\nconsulting the HTTP specification. HTTPS is just HTTP in SSL transport.\n\nIf you are doing advanced stuff, and don't find documentation you need,\nplease try to extrapolate from OpenSSL documentation (which unfortunately\nis quite sparse) and the source code.\n\nIf you run into build problems, especially regarding shared libraries,\ncheck your perl documentation, especially the perlxtut(1) man page,\nwhich gives excellent tutorial of the build process of XSUBs.\n\n  perlxtut(1)\n  perlxs(1)\n  perlguts(1)\n  perlcall(1)\n\nSay `perldoc Net::SSLeay' _NOW_!\n\nTo download OpenSSL, see https://www.openssl.org/\n\nBug reports, patch submission, feature requests and git access to the\nlatest source code etc., can be obtained at\nhttps://github.com/radiator-software/p5-net-ssleay\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradiator-software%2Fp5-net-ssleay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradiator-software%2Fp5-net-ssleay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradiator-software%2Fp5-net-ssleay/lists"}