From 25b1068da7633f5c4a8f2179fdcaf23fa3f3d082 Mon Sep 17 00:00:00 2001
From: David Woodhouse The main thing needed at the present time is translations into
-languages other than English. All contributions will be gratefully
-received. Translations for OpenConnect are maintained in the GNOME
-network-manager-openconnect module. Translations can be contributed by joining
-the GNOME team as described on their
-TranslationProject
-wiki page, or simply by editing one of the language files in the po/
-directory and sending the resulting patch (or file) to the mailing list. If there are questions about the messages because the intent is not clear, or if the
-messages could be improved to make translation easier or better, please also feel free to
-ask or make suggestions on the mailing list. Contributions to OpenConnect are very welcome. You don't need to be able to write
+code. Testing, documentation improvements and especially translations are all
+extremely useful. Some specific suggestions and requests for help can be found below. Patches can be sent to the mailing list or directly to the author in private email. When sending patches to be included in OpenConnect, please certify that your
+href="mailto:dwmw2@infradead.org">the author in private email. We are also experimenting
+with using GitLab, so please feel free to file issues and submit merge requests at
+https://gitlab.com/openconnect/openconnect. When submitting patches to be included in OpenConnect, please certify that your
patch meets the criteria below by including include a sign-off
line in your email which looks like this:
One of the main things needed at the present time is translations into
+languages other than English. All contributions will be gratefully received. Translations for OpenConnect are maintained in the GNOME
+NetworkManager-openconnect module.
+Translations can be contributed by joining the GNOME team as described on their
+TranslationProject
+wiki page, or simply by editing one of the language files in the po/
+directory and sending the resulting patch (or file) to the mailing list. If there are questions about the messages because the intent is not clear, or if the
+messages could be improved to make translation easier or better, please also feel free to
+ask or make suggestions on the mailing list. OpenConnect is designed with the principle that "if it needs documenting, fix it instead". That isn't
+to say that we don't have documentation. But if a user finds something non-obvious and has to look it up
+in the documentation, then that in itself is a little bit of a usability failure. Software should Just Workâ¢. So if you find something that is more complex than it needs to be, and you think it should
+Just Work⢠then please don't hesistate to
+tell us
+bout it. Any improvements to the documentation are most welcome. In particular: All testing is valuable, and please do let us know if anything doesn't work when you think
+it should. There are some things which the regular developers don't have easy access to test,
+some help with testing these would be particularly welcome: There are some other protocols which would be good to add to OpenConnect. Getting a new
+protocol to the point where it basically works to send and receive traffic is only a
+few hours of work, and can be very rewarding. For some protocols we already know how they work on the wire and it's mostly
+just a matter of typing. For others we might have to observe the existing clients
+to learn how they work. These would be great projects for someone to take on as a learning exercise, or
+perhaps even Google Summer of Code projects. Suggestions for other protocols which OpenConnect could usefully implement, are also welcome.Contributing to OpenConnect
-
-Translations
-
-TODO
-
-Other items on the TODO list include:
-
-
-
+Submitting Patches
What needs doing?
+
+
+Translations
+
+Documentation / Web Site
+
+
+
+
+
+ The current template is definitely showing its age, and could very much do with an overhaul.Testing
+
+
+
+
+
+
+ Cisco have finally updated to use a standard version of the DTLS protocol, where the hardware acceleration doesn't prevent it. We have tested their client and OpenConnect against ocserv and we believe we have a compatibile implementation, but testing OpenConnect directly against a Cisco server with DTLS v1.2 would be extremely useful.
+ We think we know how this works, but we've not been able to test.New Protocols
+
+
+
+
+
+ This is the successor to the Juniper Network Connect protocol which is already supported. It's saner, simpler, and has IPv6 support. We do understand how it works, with EAP over IF-T/TLS.
+ This is an IPSec-based VPN with fallback to using the SSL transport. Some discussion of OpenConnect support in this GitLab ticket.
+ These IPSec-based protocols are already supported by vpnc to differing extents, but vpnc is no longer actively maintained.
+ Since OpenConnect now has ESP support, and since some of these protocols also fall back to operating over TCP when UDP and native ESP aren't available, it may make sense to implement them in OpenConnect now.Other enhancements
+
+One of the main other improvements that would be welcome, is implementing a full WebView in the graphical clients. Currently for protocols like Juniper, OpenConnect screen-scrapes the HTML pages used for login, and attempts to make sense of them. This is The main thing that would be
+Other items on the TODO list include:
+
+
+
+
+ OpenConnect currently screen-scrapes the HTML login pages for protocols like Juniper, which is fragile and error-prone. It would be great if the graphical interfaces like NetworkManager could use a real WebView to show the pages, which would work with JavaScript and various other customisations that the admins often make. This might make an excellent Google Summer of Code project, or would also suit someone just trying to contribute in their spare time.
+ The Cisco hostscan tool seems to download and interpret a manifest file from the server and send back results based on the "questions" therein. A native implementation of this would be useful.
+ OpenConnect's support for the Android keystore predates the Android keystore actually doing anything useful. We assume we can just ask for the private key and be given it. A real keystore would only allow us to perform signature operations using the key, and wouldn't just give it to us. Modern versions of Android can support this, and we should add support for it.
+ Likewise, using keys stored in the OS X keychain would be extremely useful.