You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(23) |
Nov
(34) |
Dec
(36) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(6) |
Feb
(1) |
Mar
(12) |
Apr
|
May
(3) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2003 |
Jan
|
Feb
(6) |
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
(9) |
May
(17) |
Jun
(14) |
Jul
(13) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
(5) |
2006 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
(1) |
Oct
(16) |
Nov
(5) |
Dec
|
2007 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2008 |
Jan
(14) |
Feb
(5) |
Mar
(7) |
Apr
(3) |
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(6) |
Mar
(9) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
(17) |
Sep
(2) |
Oct
(1) |
Nov
(4) |
Dec
|
2010 |
Jan
|
Feb
(3) |
Mar
(21) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(5) |
Jul
(23) |
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
(9) |
2012 |
Jan
(7) |
Feb
(9) |
Mar
(2) |
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(9) |
Oct
|
Nov
(3) |
Dec
(2) |
2013 |
Jan
(4) |
Feb
|
Mar
(4) |
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
(4) |
Aug
(6) |
Sep
(15) |
Oct
(7) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(1) |
Feb
|
Mar
(7) |
Apr
(2) |
May
(8) |
Jun
|
Jul
|
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(2) |
2015 |
Jan
(6) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(6) |
Jun
(6) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(7) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Gerd S. <in...@ge...> - 2014-08-31 20:12:21
|
Hello again, as mentioned there is now also a new snapshot of the development version: 4.0.0test2. The previous snapshot introduced GnuTLS as new TLS backend, and a modular approach to configure the TLS backend, and which backend is used. First-class modules were used to achieve the required level of modularity. This version adds new bindings for GNU Nettle, the crypto library used by GnuTLS. This makes many symmetric ciphers and hash functions available, some even with support for hardware acceleration. The same plugin approach as for TLS is used. Read more about these concepts here: http://projects.camlcity.org/projects/dl/ocamlnet-4.0.0test2/doc/html-main/Tls.html http://projects.camlcity.org/projects/dl/ocamlnet-4.0.0test2/doc/html-main/Crypto.html This ocamlnet version is not intended for packaging. Of course, any feedback is welcome. Get the download link and the manual here: http://projects.camlcity.org/projects/ocamlnet.html NB: Of course, I'm also planning to support the "bytes" type at some point. However, given the complexity of the effort (especially regarding the interface design), I'd like to hear about the experience of other OCaml developers first, and maybe the OCaml standard library will get better over time, and make the task simpler. Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2014-08-31 20:10:22
|
Hello, I'm pleased to announce ocamlnet-3.7.5. This version supports OCaml-4.02, in particular: - Crashes because of the different representation of exceptions are fixed. - In C code, the int64 type is replaced by int64_t. - It is no longer required that camlp4 is installed. Instead, an included version of cppo is used for conditional compilation. This also speeds the build up. There are a few more changes, see the ChangeLog for details. Download, the manual, and other details are available here: http://projects.camlcity.org/projects/ocamlnet.html NB. At the same time, I'm also releasing version 4.0.0test2. This version is just a snapshot of the current development. It includes all changes that are needed for OCaml-4.02. See also a separate announcement. Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2014-08-24 22:50:14
|
Am Donnerstag, den 21.08.2014, 16:29 +0200 schrieb Jacques-Pascal Deplaix: > Hi, > > As the 4.02 will be released soon, it would be nice to fix this issue > before the release. > Do you have the time to do that ? Yes, found time today. The fix is in svn, both in trunk and in the onet4 branch (current development). It also avoids camlp4 as dependency now (I had to rewrite a bunch of parsers to get this). So, I think OCamlnet is now ready for 4.02 (well, there is no bytes support yet, but this has clearly more time). The unit tests pass, but it would be good if this sees a bit more testing. Gerd > > Cheers, > > On 04/04/2014 10:59 PM, Gerd Stolpmann wrote: > > Sorry, haven't found time to look into this. > > > > Basically, this is a feature we can turn off completely because Printexc > > has a similar functionality since a few versions of OCaml now. That > > means Netexn functions just call Printexc functions. > > > > I should also check whether this change bites OCamlnet somewhere else. > > > > Gerd > > > > > > Am Mittwoch, den 02.04.2014, 22:42 +0200 schrieb Jacques-Pascal Deplaix: > >> Any news for that ? > >> > >> On 03/19/2014 07:42 PM, Jacques-Pascal Deplaix wrote: > >>> Hi, > >>> > >>> I'm playing with ocaml 4.02 these days and I encountered a segfault > >>> while using Netexn.to_string_opt line 35 (not directly but that what > >>> the callstack says). > >>> That's maybe due to the fact that the representation of exceptions has > >>> changed (see also: https://github.com/ocsigen/js_of_ocaml/pull/109) > >>> > >>> Cheers, > >> > >> ------------------------------------------------------------------------------ > >> _______________________________________________ > >> Ocamlnet-devel mailing list > >> Oca...@li... > >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > >> > > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Jacques-Pascal D. <jp....@gm...> - 2014-08-21 14:29:56
|
Hi, As the 4.02 will be released soon, it would be nice to fix this issue before the release. Do you have the time to do that ? Cheers, On 04/04/2014 10:59 PM, Gerd Stolpmann wrote: > Sorry, haven't found time to look into this. > > Basically, this is a feature we can turn off completely because Printexc > has a similar functionality since a few versions of OCaml now. That > means Netexn functions just call Printexc functions. > > I should also check whether this change bites OCamlnet somewhere else. > > Gerd > > > Am Mittwoch, den 02.04.2014, 22:42 +0200 schrieb Jacques-Pascal Deplaix: >> Any news for that ? >> >> On 03/19/2014 07:42 PM, Jacques-Pascal Deplaix wrote: >>> Hi, >>> >>> I'm playing with ocaml 4.02 these days and I encountered a segfault >>> while using Netexn.to_string_opt line 35 (not directly but that what >>> the callstack says). >>> That's maybe due to the fact that the representation of exceptions has >>> changed (see also: https://github.com/ocsigen/js_of_ocaml/pull/109) >>> >>> Cheers, >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Ocamlnet-devel mailing list >> Oca...@li... >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel >> |
From: Jacques-Pascal D. <jp....@gm...> - 2014-05-28 21:44:43
|
Hi, What's the status of this ? On 04/04/2014 10:59 PM, Gerd Stolpmann wrote: > Sorry, haven't found time to look into this. > > Basically, this is a feature we can turn off completely because Printexc > has a similar functionality since a few versions of OCaml now. That > means Netexn functions just call Printexc functions. > > I should also check whether this change bites OCamlnet somewhere else. > > Gerd > > > Am Mittwoch, den 02.04.2014, 22:42 +0200 schrieb Jacques-Pascal Deplaix: >> Any news for that ? >> >> On 03/19/2014 07:42 PM, Jacques-Pascal Deplaix wrote: >>> Hi, >>> >>> I'm playing with ocaml 4.02 these days and I encountered a segfault >>> while using Netexn.to_string_opt line 35 (not directly but that what >>> the callstack says). >>> That's maybe due to the fact that the representation of exceptions has >>> changed (see also: https://github.com/ocsigen/js_of_ocaml/pull/109) >>> >>> Cheers, >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Ocamlnet-devel mailing list >> Oca...@li... >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel >> |
From: Gerd S. <in...@ge...> - 2014-05-12 19:27:20
|
Hi, I just released ocamlnet-3.7.4, with some minor fixes regarding SSL. Find it on the project page: http://projects.camlcity.org/projects/ocamlnet.html Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2014-05-12 19:24:13
|
Am Donnerstag, den 08.05.2014, 20:00 -0400 schrieb Ashish Agarwal: > utop # let parse s = > Netchannels.with_in_obj_channel > (new Netchannels.input_string s) > Nethtml.parse > ;; > val parse : string -> Nethtml.document list = <fun> > > > utop # parse "<div><li></li></div>";; > - : Nethtml.document list = [Nethtml.Element ("div", [], []); > Nethtml.Element ("li", [], [])] > > > > > The list item isn't a child of the div. I appreciate the html is > ill-formed, but does Nethtml check for such things? There is a dtd object you can pass to the parser that specifies such details. If an element isn't allowed as a child of another element, the behavior is that the parents are closed until the new element can be inserted. Of course, this isn't the only resolution of the problem, e.g. you could also magically add an ul or ol element. So far I know, however, it has never been specified how to resolve bad HTML. Gerd > > > ------------------------------------------------------------------------------ > Is your legacy SCM system holding you back? Join Perforce May 7 to find out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Ashish A. <aga...@gm...> - 2014-05-09 00:00:56
|
utop # let parse s = Netchannels.with_in_obj_channel (new Netchannels.input_string s) Nethtml.parse ;; val parse : string -> Nethtml.document list = <fun> utop # parse "<div><li></li></div>";; - : Nethtml.document list = [Nethtml.Element ("div", [], []); Nethtml.Element ("li", [], [])] The list item isn't a child of the div. I appreciate the html is ill-formed, but does Nethtml check for such things? |
From: Ashish A. <aga...@gm...> - 2014-05-05 22:44:32
|
On Mon, May 5, 2014 at 3:01 PM, Christophe Troestler < Chr...@um...> wrote: In practice, I have found that it generally does not matter because > this type of shortcut is only used when the presence of the attribute > counts but not its value. @Ashish What about data- attributes? As far as I can tell there is nothing special about data-* attributes that would affect parsing and printing. They are just like any other attribute. Their only purpose is they indicate an attribute that should be "private to the page", meaning external consumers of the page should ignore them. |
From: Ashish A. <aga...@gm...> - 2014-05-05 13:25:54
|
The HTML5 reference [1] states that attribute values can be omitted, and that this is equivalent to giving the empty string as the value. I can't seem to find the rules in the HTML4 spec [2]. Does Nethtml allow specifying which version of HTML is being parsed/printed? If the spec has changed, I'm not sure how you want to handle the conflict. [1] http://www.w3.org/TR/html5/syntax.html#attributes-0 [2] http://www.w3.org/TR/html401/ On Sun, May 4, 2014 at 4:40 PM, Gerd Stolpmann <in...@ge...>wrote: > The parser does so because the HTML-4 standard (don't know whether > HTML-5 changed this) explicitly specifies that a value-less attribute > must be handled like this. > > Maybe that should be configurable. The spec could go into the dtd, and > it would just include all standard cases, so that attributes outside the > standard are not affected. > > Gerd > > Am Freitag, den 02.05.2014, 17:06 -0400 schrieb Ashish Agarwal: > > Html like "<div data-id></div>" gets parsed as: > > > > Nethtml.Element ("div", [("data-id", "data-id")], []) > > > > > > The value is set to the attribute name, which seems wrong. The correct > > solution would be to change the type of an element so that values are > > `string option`, but I'm guessing that's infeasible. Alternatively, > > the parser should set the value to the empty string. > > > > > > > ------------------------------------------------------------------------------ > > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE > > Instantly run your Selenium tests across 300+ browser/OS combos. Get > > unparalleled scalability from the best Selenium testing platform > available. > > Simple to use. Nothing to install. Get started now for free." > > http://p.sf.net/sfu/SauceLabs > > _______________________________________________ > > Ocamlnet-devel mailing list > > Oca...@li... > > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ > > > |
From: Gerd S. <in...@ge...> - 2014-05-04 20:40:23
|
The parser does so because the HTML-4 standard (don't know whether HTML-5 changed this) explicitly specifies that a value-less attribute must be handled like this. Maybe that should be configurable. The spec could go into the dtd, and it would just include all standard cases, so that attributes outside the standard are not affected. Gerd Am Freitag, den 02.05.2014, 17:06 -0400 schrieb Ashish Agarwal: > Html like "<div data-id></div>" gets parsed as: > > Nethtml.Element ("div", [("data-id", "data-id")], []) > > > The value is set to the attribute name, which seems wrong. The correct > solution would be to change the type of an element so that values are > `string option`, but I'm guessing that's infeasible. Alternatively, > the parser should set the value to the empty string. > > > ------------------------------------------------------------------------------ > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE > Instantly run your Selenium tests across 300+ browser/OS combos. Get > unparalleled scalability from the best Selenium testing platform available. > Simple to use. Nothing to install. Get started now for free." > http://p.sf.net/sfu/SauceLabs > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Ashish A. <aga...@gm...> - 2014-05-02 21:06:29
|
Html like "<div data-id></div>" gets parsed as: Nethtml.Element ("div", [("data-id", "data-id")], []) The value is set to the attribute name, which seems wrong. The correct solution would be to change the type of an element so that values are `string option`, but I'm guessing that's infeasible. Alternatively, the parser should set the value to the empty string. |
From: Gerd S. <in...@ge...> - 2014-04-04 20:59:27
|
Sorry, haven't found time to look into this. Basically, this is a feature we can turn off completely because Printexc has a similar functionality since a few versions of OCaml now. That means Netexn functions just call Printexc functions. I should also check whether this change bites OCamlnet somewhere else. Gerd Am Mittwoch, den 02.04.2014, 22:42 +0200 schrieb Jacques-Pascal Deplaix: > Any news for that ? > > On 03/19/2014 07:42 PM, Jacques-Pascal Deplaix wrote: > > Hi, > > > > I'm playing with ocaml 4.02 these days and I encountered a segfault > > while using Netexn.to_string_opt line 35 (not directly but that what > > the callstack says). > > That's maybe due to the fact that the representation of exceptions has > > changed (see also: https://github.com/ocsigen/js_of_ocaml/pull/109) > > > > Cheers, > > > ------------------------------------------------------------------------------ > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Jacques-Pascal D. <jp....@gm...> - 2014-04-02 20:41:31
|
Any news for that ? On 03/19/2014 07:42 PM, Jacques-Pascal Deplaix wrote: > Hi, > > I'm playing with ocaml 4.02 these days and I encountered a segfault > while using Netexn.to_string_opt line 35 (not directly but that what > the callstack says). > That's maybe due to the fact that the representation of exceptions has > changed (see also: https://github.com/ocsigen/js_of_ocaml/pull/109) > > Cheers, |
From: Jacques-Pascal D. <jp....@gm...> - 2014-03-19 18:42:59
|
Hi, I'm playing with ocaml 4.02 these days and I encountered a segfault while using Netexn.to_string_opt line 35 (not directly but that what the callstack says). That's maybe due to the fact that the representation of exceptions has changed (see also: https://github.com/ocsigen/js_of_ocaml/pull/109) Cheers, |
From: Gerd S. <in...@ge...> - 2014-03-18 10:53:12
|
Am Montag, den 17.03.2014, 23:54 +0100 schrieb Jacques-Pascal Deplaix: > Hi, > > I made patch that fix the compilation of ocamlnet with ocaml >= 4.02. > You can see it here: https://github.com/ocaml/opam-repository/pull/1794 Thanks, patch applied. Gerd > Cheers, > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Jacques-Pascal D. <jp....@gm...> - 2014-03-17 22:53:11
|
Hi, I made patch that fix the compilation of ocamlnet with ocaml >= 4.02. You can see it here: https://github.com/ocaml/opam-repository/pull/1794 Cheers, |
From: Gerd S. <in...@ge...> - 2014-03-07 16:30:24
|
You mean with nethttpd? Gerd Am Freitag, den 07.03.2014, 15:11 +0100 schrieb Pierre-Alexandre Voye: > Great ! So I can do that ! > > On second thought, I think it would be great to be able to define > theses patterns in the conf file. > > Where could I patch this ? > > > > 2014-03-05 13:09 GMT+01:00 Gerd Stolpmann <in...@ge...>: > Hi, > > accessing the path is already possible. For example, if you > bind the cgi > to /service_name, and enter /service_name/some/path in the > browser, you > get the "excess part" of the path in > cgi#environment#cgi_path_info, i.e. > "/some/path". This should work for all cgi connectors in the > same way > (this behavior is part of the CGI standard). You could then > split the > path into components and process as you like. > > Does this help? > > Gerd > > Am Dienstag, den 04.03.2014, 16:18 +0100 schrieb > Pierre-Alexandre Voye: > > HI, > > > > > > As far I understand my use of NetCGI, it only allow > GET/POST/... URLs > > with parameters like : > > > > /service_name?param1=one¶m2=two > > > > > > > > > > It's now usual, according to REST philosophy, to write URLs > as > > follow : > > > > GET /table_name/17 > > > > PUT /table_name/17 > > > > and of course more complex URLs as : > > > > PUT /publishers/1/magazines/2/photos/3 > > > > > > However there's ocaml's library to do that (aka > > https://github.com/rgrinberg/opium which user cohttp based > on > > Lwt/Async), NetCGI is so powerful and multicore ready that I > would > > prefer to use it. > > > > With opium you can format your URLs as follow : > > let print_person = get "/person/:name/:age" ... > > > > > > > > > > So, is there a way to do that with NetCGI ? Or, if I want to > > contribute by coding it, what, Gerd, would be the way you > prefer to > > patch NetCGI ? > > > > > > > > Regards, > > > > > > Pierre-Alexandre > > > > > > > > > > > > -- > > --------------------- > > https://twitter.com/#!/ontologiae/ > > http://linuxfr.org/users/montaigne > > > > > > ------------------------------------------------------------------------------ > > Subversion Kills Productivity. Get off Subversion & Make the > Move to Perforce. > > With Perforce, you get hassle-free workflows. Merge that > actually works. > > Faster operations. Version large binaries. Built-in WAN > optimization and the > > freedom to use Git, Perforce or both. Make the move to > Perforce. > > > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk > > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ > > > > > -- > --------------------- > https://twitter.com/#!/ontologiae/ > http://linuxfr.org/users/montaigne > > ------------------------------------------------------------------------------ > Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. > With Perforce, you get hassle-free workflows. Merge that actually works. > Faster operations. Version large binaries. Built-in WAN optimization and the > freedom to use Git, Perforce or both. Make the move to Perforce. > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk > _______________________________________________ Ocamlnet-devel mailing list Oca...@li... https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Pierre-Alexandre V. <ont...@gm...> - 2014-03-07 14:11:46
|
Great ! So I can do that ! On second thought, I think it would be great to be able to define theses patterns in the conf file. Where could I patch this ? 2014-03-05 13:09 GMT+01:00 Gerd Stolpmann <in...@ge...>: > Hi, > > accessing the path is already possible. For example, if you bind the cgi > to /service_name, and enter /service_name/some/path in the browser, you > get the "excess part" of the path in cgi#environment#cgi_path_info, i.e. > "/some/path". This should work for all cgi connectors in the same way > (this behavior is part of the CGI standard). You could then split the > path into components and process as you like. > > Does this help? > > Gerd > > Am Dienstag, den 04.03.2014, 16:18 +0100 schrieb Pierre-Alexandre Voye: > > HI, > > > > > > As far I understand my use of NetCGI, it only allow GET/POST/... URLs > > with parameters like : > > > > /service_name?param1=one¶m2=two > > > > > > > > > > It's now usual, according to REST philosophy, to write URLs as > > follow : > > > > GET /table_name/17 > > > > PUT /table_name/17 > > > > and of course more complex URLs as : > > > > PUT /publishers/1/magazines/2/photos/3 > > > > > > However there's ocaml's library to do that (aka > > https://github.com/rgrinberg/opium which user cohttp based on > > Lwt/Async), NetCGI is so powerful and multicore ready that I would > > prefer to use it. > > > > With opium you can format your URLs as follow : > > let print_person = get "/person/:name/:age" ... > > > > > > > > > > So, is there a way to do that with NetCGI ? Or, if I want to > > contribute by coding it, what, Gerd, would be the way you prefer to > > patch NetCGI ? > > > > > > > > Regards, > > > > > > Pierre-Alexandre > > > > > > > > > > > > -- > > --------------------- > > https://twitter.com/#!/ontologiae/ > > http://linuxfr.org/users/montaigne > > > > > ------------------------------------------------------------------------------ > > Subversion Kills Productivity. Get off Subversion & Make the Move to > Perforce. > > With Perforce, you get hassle-free workflows. Merge that actually works. > > Faster operations. Version large binaries. Built-in WAN optimization > and the > > freedom to use Git, Perforce or both. Make the move to Perforce. > > > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk > > _______________________________________________ Ocamlnet-devel mailing > list Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ > > -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2014-03-05 12:22:43
|
Hi, accessing the path is already possible. For example, if you bind the cgi to /service_name, and enter /service_name/some/path in the browser, you get the "excess part" of the path in cgi#environment#cgi_path_info, i.e. "/some/path". This should work for all cgi connectors in the same way (this behavior is part of the CGI standard). You could then split the path into components and process as you like. Does this help? Gerd Am Dienstag, den 04.03.2014, 16:18 +0100 schrieb Pierre-Alexandre Voye: > HI, > > > As far I understand my use of NetCGI, it only allow GET/POST/... URLs > with parameters like : > > /service_name?param1=one¶m2=two > > > > > It's now usual, according to REST philosophy, to write URLs as > follow : > > GET /table_name/17 > > PUT /table_name/17 > > and of course more complex URLs as : > > PUT /publishers/1/magazines/2/photos/3 > > > However there's ocaml's library to do that (aka > https://github.com/rgrinberg/opium which user cohttp based on > Lwt/Async), NetCGI is so powerful and multicore ready that I would > prefer to use it. > > With opium you can format your URLs as follow : > let print_person = get "/person/:name/:age" ... > > > > > So, is there a way to do that with NetCGI ? Or, if I want to > contribute by coding it, what, Gerd, would be the way you prefer to > patch NetCGI ? > > > > Regards, > > > Pierre-Alexandre > > > > > > -- > --------------------- > https://twitter.com/#!/ontologiae/ > http://linuxfr.org/users/montaigne > > ------------------------------------------------------------------------------ > Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. > With Perforce, you get hassle-free workflows. Merge that actually works. > Faster operations. Version large binaries. Built-in WAN optimization and the > freedom to use Git, Perforce or both. Make the move to Perforce. > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk > _______________________________________________ Ocamlnet-devel mailing list Oca...@li... https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Pierre-Alexandre V. <ont...@gm...> - 2014-03-04 15:19:03
|
HI, As far I understand my use of NetCGI, it only allow GET/POST/... URLs with parameters like : /service_name?param1=one¶m2=two It's now usual, according to REST philosophy, to write URLs as follow : GET /table_name/17 PUT /table_name/17 and of course more complex URLs as : PUT /publishers/1/magazines/2/photos/3 However there's ocaml's library to do that (aka https://github.com/rgrinberg/opium which user cohttp based on Lwt/Async), NetCGI is so powerful and multicore ready that I would prefer to use it. With opium you can format your URLs as follow : let print_person = get "/person/:name/:age" ... So, is there a way to do that with NetCGI ? Or, if I want to contribute by coding it, what, Gerd, would be the way you prefer to patch NetCGI ? Regards, Pierre-Alexandre -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |
From: Gerd S. <in...@ge...> - 2014-01-06 01:18:52
|
Hi, as a preview to Ocamlnet-4.0, there is now the pre-release 4.0.0test1. This version mainly introduces the new bindings for GnuTLS which replaces openssl. There is also the new concept of a pluggable TLS provider, implemented as first-class module. All protocol interpreters support now TLS (up to TLS-1.2). (Yes, this means Nethttpd is finally TLS-enabled.) The new concept for TLS is explained on this page of the refman: http://projects.camlcity.org/projects/dl/ocamlnet-4.0.0test1/doc/html-main/Tls.html TLS is now much simpler to use. For the clients, it is now sufficient to initialize GnuTLS (with Nettls_gnutls.init()), and TLS is enabled. Further changes in this version: - Netasn1 is a parser for ASN.1 encodings. Netdn and Netx509 use it for parsing X.509 certificates (this is implemented directly in OCaml, and not with GnuTLS). - Uq_engines: many functions and classes are now moved to new modules in equeue, making Uq_engines much smaller. This version is not intended for being packaged up. Nevertheless, you are encouraged to check it out, and to test the new TLS functionality by downloading and compiling it directly. Project page with further links (incl download): http://projects.camlcity.org/projects/ocamlnet.html Latest SVN checkout (onet4 branch): https://godirepo.camlcity.org/svn/lib-ocamlnet2/branches/onet4/ Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Felipe G. <cat...@gm...> - 2013-12-13 12:19:26
|
Hello, I want to use ocamlnet for some web prog., a layer between postgres and json. I haven't really understood the advantages of using netcgi2-plex over netcgi2, -plex can handle many request at a time, right? Missing about netcgi2-plex is a working example, you can read in netplex.mlin the examples/netcgi2-plex directory : - The factory part is wrong, even missing semicolon. what is the proper way about using a container ? Regards. let start() = let (opt_list, cmdline_cfg) = Netplex_main.args() in let use_mt = ref false in let opt_list' = [ "-mt", Arg.Set use_mt, " Use multi-threading instead of multi-processing" ] @ opt_list in Arg.parse opt_list' (fun s -> raise (Arg.Bad ("Don't know what to do with: " ^ s))) "usage: netplex [options]"; let parallelizer = if !use_mt then Netplex_mt.mt() (* multi-threading *) else Netplex_mp.mp() in (* multi-processing *) let buffered _ ch = new Netchannels.buffered_trans_channel ch in let output_type = `Transactional buffered in let factory = Netcgi_plex.factory ~output_type (fun container cgi -> Add.generate_page cgi) in Netplex_main.startup parallelizer Netplex_log.logger_factories (* allow all built-in logging styles *) Netplex_workload.workload_manager_factories (* ... all ways of workload management *) [ factory ] (* make this service available *) cmdline_cfg ;; |
From: Thomas C. <cal...@gm...> - 2013-12-05 08:38:56
|
Hi Gerd, I have successfully tested the fix you mentioned in your reply. You'll find attached a patch to address the issue (for ocamlnet-3.6.6) of child containers becoming zombies when the socket connection fails unexpectedly. It would be great if this modification could make it upstream. Regarding the system_shutdown() issue we discussed I have not made any progresses, it would be great if we could filter the RPC calls available to child containers given a policy defined by the controller process. Regards. Thomas C. On Mon, Nov 11, 2013 at 9:15 AM, Thomas Calderon <cal...@gm...>wrote: > Hi Gerd, > > > > > On Sun, Nov 10, 2013 at 1:24 PM, Gerd Stolpmann <in...@ge...>wrote: > >> Am Donnerstag, den 07.11.2013, 19:34 +0100 schrieb Thomas Calderon: >> > Hi there, >> > >> > >> > I am having two issues with netplex at the moment. >> > >> > >> > The first one is related to rpc-ssl support. The netplex service is >> > configured with SSL enabled (TLSv1) and if you are connecting with a >> > client that forces newer TLS versions (openssl s_client -connect >> > host:port -tls1_1), an Ssl exception is raised. >> >> Well, the ocaml-ssl bindings only offer TLS-1.0, even if openssl >> supports more. That's basically a problem of the bindings. (Fyi, I'm >> currently implementing complete bindings for GnuTLS to overcome all >> limitations with ocaml-ssl.) >> > > OK that's what I thought as well, I added the missing symbols to ocaml-ssland some other missing features (DH/ > ECDH). This is immediately available from the git version of the code, > but having a GnuTLS alternative is also good news. > > >> >> > However, the container process still continues to run but is not able >> > to process any data, netplex then spawn a new child process to handle >> > subsequent connections. >> > From the client side, the socket is closed and we end up not knowing >> > in which state the "zombie" container is. >> > We looked for a proper way to fix this in our code, but the exception >> > is caught from within rpc_netplex.ml (line 183), is there a proper way >> > to handle this case from our code or is it only a fix you can >> > provide ? >> >> You could close fd, and then call when_done() from the is_error >> callback. This is how it is indicated that the task is done. >> > > Alright I'll look into this to fix the issue with the current ocaml-sslbindings. > > >> >> Probably this is really the best thing you can do here. When I >> programmed this I could probably not imagine what kind of things can go >> wrong at this spot, and hence opted to do nothing. >> >> > The second issue is related the function >> > "Netplex_cenv.system_shutdown()". This function can be used to >> > completely shutdown the service, I would like to know if it is >> > possible to restrict this function to be only callable from within the >> > controller instance ? This way a container process could not call this >> > function and stop the service and all the other containers from >> > running. >> >> Without modifying the sources, there is probably no way to get this >> effect. >> >> What's actually happening is that the controller accepts requests on the >> admin socket (which is a Unix domain socket visible in the filesystem), >> and if the container wants to do a system shutdown, is just connects to >> this socket, and invokes the right RPC. I don't see how you could >> prevent the container from doing so even if the connect code were >> removed from the netplex sources. Maybe the only way is to set a >> password on this service, and not telling the container the password. >> > > OK thanks for your input on that. > > >> >> Out of curiosity, what's your concern with system shutdowns? >> > > Netplex controller can be seen as task schedulers spawning child > processes to handle requests. > Now let's suppose the service your are offering becomes essential on your > system, then availability becomes something you really care about. For > example if one of the container's flow of execution is compromised, you > can can live with that as long as it cannot hurt your availability or use > privileged APIs. > > I'll have a look at the admin socket and check if nothing more can be done > here. > > Thanks for your answers. > > Thomas C. > > >> >> Gerd >> >> > >> > Thanks. >> > >> > >> > Thomas C. >> > >> > >> > >> ------------------------------------------------------------------------------ >> > November Webinars for C, C++, Fortran Developers >> > Accelerate application performance with scalable programming models. >> Explore >> > techniques for threading, error checking, porting, and tuning. Get the >> most >> > from the latest Intel processors and coprocessors. See abstracts and >> register >> > >> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk >> > _______________________________________________ Ocamlnet-devel mailing >> list Oca...@li... >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel >> >> -- >> ------------------------------------------------------------ >> Gerd Stolpmann, Darmstadt, Germany ge...@ge... >> My OCaml site: http://www.camlcity.org >> Contact details: http://www.camlcity.org/contact.html >> Company homepage: http://www.gerd-stolpmann.de >> ------------------------------------------------------------ >> >> > |
From: Thomas C. <cal...@gm...> - 2013-11-11 08:15:28
|
Hi Gerd, On Sun, Nov 10, 2013 at 1:24 PM, Gerd Stolpmann <in...@ge...>wrote: > Am Donnerstag, den 07.11.2013, 19:34 +0100 schrieb Thomas Calderon: > > Hi there, > > > > > > I am having two issues with netplex at the moment. > > > > > > The first one is related to rpc-ssl support. The netplex service is > > configured with SSL enabled (TLSv1) and if you are connecting with a > > client that forces newer TLS versions (openssl s_client -connect > > host:port -tls1_1), an Ssl exception is raised. > > Well, the ocaml-ssl bindings only offer TLS-1.0, even if openssl > supports more. That's basically a problem of the bindings. (Fyi, I'm > currently implementing complete bindings for GnuTLS to overcome all > limitations with ocaml-ssl.) > OK that's what I thought as well, I added the missing symbols to ocaml-ssland some other missing features (DH/ ECDH). This is immediately available from the git version of the code, but having a GnuTLS alternative is also good news. > > > However, the container process still continues to run but is not able > > to process any data, netplex then spawn a new child process to handle > > subsequent connections. > > From the client side, the socket is closed and we end up not knowing > > in which state the "zombie" container is. > > We looked for a proper way to fix this in our code, but the exception > > is caught from within rpc_netplex.ml (line 183), is there a proper way > > to handle this case from our code or is it only a fix you can > > provide ? > > You could close fd, and then call when_done() from the is_error > callback. This is how it is indicated that the task is done. > Alright I'll look into this to fix the issue with the current ocaml-sslbindings. > > Probably this is really the best thing you can do here. When I > programmed this I could probably not imagine what kind of things can go > wrong at this spot, and hence opted to do nothing. > > > The second issue is related the function > > "Netplex_cenv.system_shutdown()". This function can be used to > > completely shutdown the service, I would like to know if it is > > possible to restrict this function to be only callable from within the > > controller instance ? This way a container process could not call this > > function and stop the service and all the other containers from > > running. > > Without modifying the sources, there is probably no way to get this > effect. > > What's actually happening is that the controller accepts requests on the > admin socket (which is a Unix domain socket visible in the filesystem), > and if the container wants to do a system shutdown, is just connects to > this socket, and invokes the right RPC. I don't see how you could > prevent the container from doing so even if the connect code were > removed from the netplex sources. Maybe the only way is to set a > password on this service, and not telling the container the password. > OK thanks for your input on that. > > Out of curiosity, what's your concern with system shutdowns? > Netplex controller can be seen as task schedulers spawning child processes to handle requests. Now let's suppose the service your are offering becomes essential on your system, then availability becomes something you really care about. For example if one of the container's flow of execution is compromised, you can can live with that as long as it cannot hurt your availability or use privileged APIs. I'll have a look at the admin socket and check if nothing more can be done here. Thanks for your answers. Thomas C. > > Gerd > > > > > Thanks. > > > > > > Thomas C. > > > > > > > ------------------------------------------------------------------------------ > > November Webinars for C, C++, Fortran Developers > > Accelerate application performance with scalable programming models. > Explore > > techniques for threading, error checking, porting, and tuning. Get the > most > > from the latest Intel processors and coprocessors. See abstracts and > register > > > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > > _______________________________________________ Ocamlnet-devel mailing > list Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ > > |