From a817aaade595cc09f09545f3154cd069f7d12ae5 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Thu, 7 May 2020 10:35:38 -0400 Subject: Added a license that might annoy people. Added a readme and gave this mess a name. --- LICENSE.txt | 9 +++++++++ README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ dumb_render.f90 | 22 +++++++++++++++++++++ escape.f90 | 22 +++++++++++++++++++++ files.f90 | 22 +++++++++++++++++++++ gemini-windows.prj | 12 ++++++++--- gemini.prj | 4 ++-- history.f90 | 22 +++++++++++++++++++++ jessl.f90 | 22 +++++++++++++++++++++ layout.f90 | 22 +++++++++++++++++++++ main.F90 | 24 +++++++++++++++++++++- network.F90 | 22 +++++++++++++++++++++ protocol.f90 | 22 +++++++++++++++++++++ render.f90 | 22 +++++++++++++++++++++ request.f90 | 22 +++++++++++++++++++++ wsa.f90 | 22 +++++++++++++++++++++ 16 files changed, 343 insertions(+), 6 deletions(-) create mode 100644 LICENSE.txt create mode 100644 README.md diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..c46078c --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,9 @@ +Copyright (c) 2020 Jeffrey Armstrong + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b5c34b2 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# LR-87: A Gemini Client + +LR-87 is a simple implementation of a client for launching into the world of the +Gemini protocol, a fun place somewhere between Gopher and the World Wide Web. The +client is implemented entirely in Fortran. + +LR-87 can be launched with an initial address, or it will default to +[gemini://gemini.circumlunar.space/](gemini://gemini.circumlunar.space/). The +default interface assumes you are at a dumb terminal, so you'll be presented +with a nice Fortran-esque input prompt after the first page of a site is displayed. +The prompt supports paging, entering link numbers, going back, or quitting, and it +is somewhat self-explanatory. The user should be aware that the command, such as +"B" for back must be followed by the ENTER/RETURN key. + +Links are displayed in LR-87's default renderer as: + +`[ 1][ Gemini documentation]` + +The link is numbered, and it can be followed by entering the link number at the +input prompt. Note that the link numbering *will change when page up or page down +is performed*. If you page down, for example, the new link number 1 is the new +first visible link, not the link labeled number 1 prior to page down. This +insane behavior is merely the product of the default renderer, not the underlying +code itself. + +## What's Not Supported + +LR-87 works, but it does _not_ remember certificates, store history or bookmarks, +or support sending user certificates. It will also complain if you attempt to +download a non-text file or try to access a non-Gemini address. These features +might be added in the future, but don't hold your breath. + +## Compiling + +LR-87 requires a substantial number of Fortran 2003/2008 features. The software +compiles fine with relatively modern versions of GNU Fortran (tested with versions 8 +and 9). [Simply Fortran](https://simplyfortran.com) projects are included for both +Windows and UNIX-y operating systems. + +On Windows, users will need an OpenSSL implementation for linking. I suggest, but +do not endorse, [this distribution](https://bintray.com/vszakats/generic/openssl), +which seems to work fine. + +## Extending + +All drawing, status reporting, and user interaction is handled by derived types +extended from the abstract "renderer" type, which handles parsing links and wrapping +regular text internally. A new renderer would be relatively easy to generate if it +implemented the abstract interfaces in the "renderer" type. + +The code currently contains one implementation, "dumb_renderer," that assumes the +user is at a dumb terminal. It assumes a fixed 80x24 terminal without any escape +sequences. + +## License + +LR-87 is Copyright (c) 2020 Jeffrey Armstrong , and the software +is licensed under the JSON license. See LICENSE.txt for more details. diff --git a/dumb_render.f90 b/dumb_render.f90 index c3b49a1..93897ed 100644 --- a/dumb_render.f90 +++ b/dumb_render.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module dumb_render use render implicit none diff --git a/escape.f90 b/escape.f90 index d960459..d0cba7a 100644 --- a/escape.f90 +++ b/escape.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module escaper character(*), parameter::need_escape = " $&`:<>[]{}+#%@/;=?\^|~',"//'"' diff --git a/files.f90 b/files.f90 index b30c436..85eddb1 100644 --- a/files.f90 +++ b/files.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module file_handling integer, parameter::file_type_plain_text = 1 diff --git a/gemini-windows.prj b/gemini-windows.prj index d59e44f..2491864 100644 --- a/gemini-windows.prj +++ b/gemini-windows.prj @@ -27,7 +27,7 @@ "enabled":"1" }] }], - "Name":"+gemini-windows (target.exe)", + "Name":"+gemini-windows (lr87.exe)", "Files":[{ "filename":".\\dumb_render.f90", "enabled":"1" @@ -43,12 +43,18 @@ },{ "filename":".\\layout.f90", "enabled":"1" + },{ + "filename":".\\LICENSE.txt", + "enabled":"1" },{ "filename":".\\main.F90", "enabled":"1" },{ "filename":".\\protocol.f90", "enabled":"1" + },{ + "filename":".\\README.md", + "enabled":"1" },{ "filename":".\\render.f90", "enabled":"1" @@ -57,7 +63,7 @@ "enabled":"0" }] }, - "Name":"gemini-windows (target.exe)", + "Name":"gemini-windows (lr87.exe)", "Options":{ "Compiler Options":{ "Fortran Flags":"-DWINDOWS", @@ -74,7 +80,7 @@ "Module Directory":"modules", "Include Directories":["Default Add-On Include Directory"] }, - "Target":"target.exe", + "Target":"lr87.exe", "Fortran Options":{ "Use C Preprocessor":"false", "Runtime Diagnostics":"false", diff --git a/gemini.prj b/gemini.prj index 48e0ba7..cb0b4c6 100644 --- a/gemini.prj +++ b/gemini.prj @@ -54,7 +54,7 @@ "enabled":"0" }] }, - "Name":"gemini (target)", + "Name":"gemini (lr87)", "Options":{ "Compiler Options":{ "Fortran Flags":"", @@ -71,7 +71,7 @@ "Module Directory":"modules", "Include Directories":["Default Add-On Include Directory"] }, - "Target":"target", + "Target":"lr87", "Fortran Options":{ "Use C Preprocessor":"false", "Runtime Diagnostics":"false", diff --git a/history.f90 b/history.f90 index e915855..fc178e0 100644 --- a/history.f90 +++ b/history.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module history implicit none diff --git a/jessl.f90 b/jessl.f90 index 82d6465..0ee890e 100644 --- a/jessl.f90 +++ b/jessl.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + ! Just Enough SSL... module jessl diff --git a/layout.f90 b/layout.f90 index 403f644..63732fd 100644 --- a/layout.f90 +++ b/layout.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module layout implicit none diff --git a/main.F90 b/main.F90 index 9610207..c313b5f 100644 --- a/main.F90 +++ b/main.F90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + program gemini use request use dumb_render @@ -52,7 +74,7 @@ implicit none else - initial_site = "gemini://gemini.circumlunar.space/" ! gemini://pon.ix.tc/ + initial_site = "gemini://gemini.circumlunar.space/" end if diff --git a/network.F90 b/network.F90 index 2ad520b..fc8b410 100644 --- a/network.F90 +++ b/network.F90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module network use iso_c_binding implicit none diff --git a/protocol.f90 b/protocol.f90 index 194e0e7..3348663 100644 --- a/protocol.f90 +++ b/protocol.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module gemini_protocol implicit none diff --git a/render.f90 b/render.f90 index d723467..da3406a 100644 --- a/render.f90 +++ b/render.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module render implicit none diff --git a/request.f90 b/request.f90 index e9784fd..2c3031b 100644 --- a/request.f90 +++ b/request.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module request use network use iso_c_binding diff --git a/wsa.f90 b/wsa.f90 index c46b097..080da11 100644 --- a/wsa.f90 +++ b/wsa.f90 @@ -1,3 +1,25 @@ +! Copyright (c) 2020 Jeffrey Armstrong +! +! Permission is hereby granted, free of charge, to any person obtaining a copy +! of this software and associated documentation files (the "Software"), to deal +! in the Software without restriction, including without limitation the rights +! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is +! furnished to do so, subject to the following conditions: +! +! The above copyright notice and this permission notice shall be included in +! all copies or substantial portions of the Software. +! +! The Software shall be used for Good, not Evil. +! +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +! SOFTWARE. + module wsa_network use iso_c_binding implicit none -- cgit v1.2.3