* Intercepting memory mapped files @ 2015-01-30 10:26 Kunal Baweja 2015-01-30 10:33 ` Saket Sinha 0 siblings, 1 reply; 11+ messages in thread From: Kunal Baweja @ 2015-01-30 10:26 UTC (permalink / raw) To: kernelnewbies Hi, I am currently working on implementing a simple encrypted file system using a stackable file system WrapFS <http://wrapfs.filesystems.org/>. In order to do so, as I read in the WrapFS mailing list <http://www.fsl.cs.sunysb.edu/pipermail/wrapfs/2011-November/000058.html> one needs to implement address space operations, which I have done and posted on my github at this link <https://github.com/bawejakunal/wrapfs-addresspace-operations/blob/master/mmap.c> and it works fine. But now when I am trying to modify the data before being written in wrapfs_lower() function I get a blank output in files written out. Please guide where am I going wrong in modifying the data to be written and what could be the best way to decrypt it ? Thanks *Kunal Baweja* Undergraduate B.E. (Hons.) Computer Science Birla Institute Of Technology & Science, Pilani K.K. Birla Goa Campus +91 9049655665 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/3ec8d9d9/attachment.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 10:26 Intercepting memory mapped files Kunal Baweja @ 2015-01-30 10:33 ` Saket Sinha 2015-01-30 11:48 ` Kunal Baweja 0 siblings, 1 reply; 11+ messages in thread From: Saket Sinha @ 2015-01-30 10:33 UTC (permalink / raw) To: kernelnewbies HI, Kindly refer the following link that implements a minimal encryption over wrapfs. https://github.com/piekill/wrapfs Go through the wrapfs_encrypt in wrapfs_readpage and wrapfs_decrypt in wrapfs_writepage. Regards, Saket Sinha On Fri, Jan 30, 2015 at 3:56 PM, Kunal Baweja <bawejakunal15@gmail.com> wrote: > Hi, > I am currently working on implementing a simple encrypted file system > using a stackable file system WrapFS <http://wrapfs.filesystems.org/>. In > order to do so, as I read in the WrapFS mailing list > <http://www.fsl.cs.sunysb.edu/pipermail/wrapfs/2011-November/000058.html> > one needs to implement address space operations, which I have done and > posted on my github at this link > <https://github.com/bawejakunal/wrapfs-addresspace-operations/blob/master/mmap.c> > and it works fine. But now when I am trying to modify the data before being > written in wrapfs_lower() function I get a blank output in files written > out. > Please guide where am I going wrong in modifying the data to be written > and what could be the best way to decrypt it ? > > Thanks > > *Kunal Baweja* > > Undergraduate B.E. (Hons.) Computer Science > Birla Institute Of Technology & Science, Pilani > K.K. Birla Goa Campus > +91 9049655665 > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/978f8ae8/attachment.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 10:33 ` Saket Sinha @ 2015-01-30 11:48 ` Kunal Baweja 2015-01-30 11:55 ` devendra.aaru 2015-01-30 13:13 ` Valdis.Kletnieks at vt.edu 0 siblings, 2 replies; 11+ messages in thread From: Kunal Baweja @ 2015-01-30 11:48 UTC (permalink / raw) To: kernelnewbies Yeah I was trying something similar only but with a much simpler Caeser cipher function of my own written as below: void encrypt(char *data, char *encrypted, size_t size) { unsigned int i; for(i=0;i<(unsigned int)size;i++) encrypted[i] = data[i] + 3; printk(KERN_INFO "%s",encrypted); return; } So in the given code wherever u see the calls to *wrapfs_encrypt*, I have replaced with my simpler encryption function. But I am not able to figure out why calling this function creates a problem, the printk() statement inside the function shows me the correctly encrypted contents but the file is still blank. Thanks *Kunal Baweja* Undergraduate B.E. (Hons.) Computer Science Birla Institute Of Technology & Science, Pilani K.K. Birla Goa Campus +91 9049655665 On Fri, Jan 30, 2015 at 4:03 PM, Saket Sinha <saket.sinha89@gmail.com> wrote: > HI, > > Kindly refer the following link that implements a minimal encryption over > wrapfs. > https://github.com/piekill/wrapfs > > Go through the wrapfs_encrypt in wrapfs_readpage and wrapfs_decrypt in > wrapfs_writepage. > > Regards, > Saket Sinha > > On Fri, Jan 30, 2015 at 3:56 PM, Kunal Baweja <bawejakunal15@gmail.com> > wrote: > >> Hi, >> I am currently working on implementing a simple encrypted file system >> using a stackable file system WrapFS <http://wrapfs.filesystems.org/>. >> In order to do so, as I read in the WrapFS mailing list >> <http://www.fsl.cs.sunysb.edu/pipermail/wrapfs/2011-November/000058.html> >> one needs to implement address space operations, which I have done and >> posted on my github at this link >> <https://github.com/bawejakunal/wrapfs-addresspace-operations/blob/master/mmap.c> >> and it works fine. But now when I am trying to modify the data before being >> written in wrapfs_lower() function I get a blank output in files written >> out. >> Please guide where am I going wrong in modifying the data to be written >> and what could be the best way to decrypt it ? >> >> Thanks >> >> *Kunal Baweja* >> >> Undergraduate B.E. (Hons.) Computer Science >> Birla Institute Of Technology & Science, Pilani >> K.K. Birla Goa Campus >> +91 9049655665 >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies at kernelnewbies.org >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/1048de10/attachment-0001.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 11:48 ` Kunal Baweja @ 2015-01-30 11:55 ` devendra.aaru 2015-01-30 12:59 ` Kunal Baweja 2015-01-30 13:31 ` Valdis.Kletnieks at vt.edu 2015-01-30 13:13 ` Valdis.Kletnieks at vt.edu 1 sibling, 2 replies; 11+ messages in thread From: devendra.aaru @ 2015-01-30 11:55 UTC (permalink / raw) To: kernelnewbies On Fri, Jan 30, 2015 at 6:48 AM, Kunal Baweja <bawejakunal15@gmail.com> wrote: > Yeah I was trying something similar only but with a much simpler Caeser > cipher function of my own written as below: > > void encrypt(char *data, char *encrypted, size_t size) > { > unsigned int i; > for(i=0;i<(unsigned int)size;i++) > encrypted[i] = data[i] + 3; > This is not caesar's cipher. If your buffer contains alphabets then only you can apply caesar cipher. It should be something like encrypted[i] = (data[i] - 3) % 26; > printk(KERN_INFO "%s",encrypted); > return; > } > > So in the given code wherever u see the calls to *wrapfs_encrypt*, I have > replaced with my simpler encryption function. > > But I am not able to figure out why calling this function creates a > problem, the printk() statement inside the function shows me the correctly > encrypted contents but the file is still blank. > > Thanks > > *Kunal Baweja* > > Undergraduate B.E. (Hons.) Computer Science > Birla Institute Of Technology & Science, Pilani > K.K. Birla Goa Campus > +91 9049655665 > > On Fri, Jan 30, 2015 at 4:03 PM, Saket Sinha <saket.sinha89@gmail.com> > wrote: > >> HI, >> >> Kindly refer the following link that implements a minimal encryption over >> wrapfs. >> https://github.com/piekill/wrapfs >> >> Go through the wrapfs_encrypt in wrapfs_readpage and wrapfs_decrypt in >> wrapfs_writepage. >> >> Regards, >> Saket Sinha >> >> On Fri, Jan 30, 2015 at 3:56 PM, Kunal Baweja <bawejakunal15@gmail.com> >> wrote: >> >>> Hi, >>> I am currently working on implementing a simple encrypted file system >>> using a stackable file system WrapFS <http://wrapfs.filesystems.org/>. >>> In order to do so, as I read in the WrapFS mailing list >>> <http://www.fsl.cs.sunysb.edu/pipermail/wrapfs/2011-November/000058.html> >>> one needs to implement address space operations, which I have done and >>> posted on my github at this link >>> <https://github.com/bawejakunal/wrapfs-addresspace-operations/blob/master/mmap.c> >>> and it works fine. But now when I am trying to modify the data before being >>> written in wrapfs_lower() function I get a blank output in files written >>> out. >>> Please guide where am I going wrong in modifying the data to be written >>> and what could be the best way to decrypt it ? >>> >>> Thanks >>> >>> *Kunal Baweja* >>> >>> Undergraduate B.E. (Hons.) Computer Science >>> Birla Institute Of Technology & Science, Pilani >>> K.K. Birla Goa Campus >>> +91 9049655665 >>> >>> _______________________________________________ >>> Kernelnewbies mailing list >>> Kernelnewbies at kernelnewbies.org >>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >>> >>> >> > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/f63f93e7/attachment.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 11:55 ` devendra.aaru @ 2015-01-30 12:59 ` Kunal Baweja 2015-01-30 13:31 ` Valdis.Kletnieks at vt.edu 1 sibling, 0 replies; 11+ messages in thread From: Kunal Baweja @ 2015-01-30 12:59 UTC (permalink / raw) To: kernelnewbies Hi devendra, it's not necessary to wrap around the characters in caeser cipher by taking a modulus like you pointed out, there are many variants of it. Anyways my actual problem is that the encrypted data is not being written into the file whereas if I don't make a call to the encrypt function then the contents are written perfectly to the files. On 5:25pm, Fri 30-Jan-2015 devendra.aaru <devendra.aaru@gmail.com> wrote: > On Fri, Jan 30, 2015 at 6:48 AM, Kunal Baweja <bawejakunal15@gmail.com> > wrote: > >> Yeah I was trying something similar only but with a much simpler Caeser >> cipher function of my own written as below: >> >> void encrypt(char *data, char *encrypted, size_t size) >> { >> unsigned int i; >> for(i=0;i<(unsigned int)size;i++) >> encrypted[i] = data[i] + 3; >> > > This is not caesar's cipher. If your buffer contains alphabets then only > you can apply caesar cipher. > > It should be something like > > encrypted[i] = (data[i] - 3) % 26; > > > >> printk(KERN_INFO "%s",encrypted); >> return; >> } >> >> So in the given code wherever u see the calls to *wrapfs_encrypt*, I >> have replaced with my simpler encryption function. >> >> But I am not able to figure out why calling this function creates a >> problem, the printk() statement inside the function shows me the correctly >> encrypted contents but the file is still blank. >> >> Thanks >> >> *Kunal Baweja* >> >> Undergraduate B.E. (Hons.) Computer Science >> Birla Institute Of Technology & Science, Pilani >> K.K. Birla Goa Campus >> +91 9049655665 >> >> On Fri, Jan 30, 2015 at 4:03 PM, Saket Sinha <saket.sinha89@gmail.com> >> wrote: >> >>> HI, >>> >>> Kindly refer the following link that implements a minimal encryption >>> over wrapfs. >>> https://github.com/piekill/wrapfs >>> >>> Go through the wrapfs_encrypt in wrapfs_readpage and wrapfs_decrypt in >>> wrapfs_writepage. >>> >>> Regards, >>> Saket Sinha >>> >>> On Fri, Jan 30, 2015 at 3:56 PM, Kunal Baweja <bawejakunal15@gmail.com> >>> wrote: >>> >>>> Hi, >>>> I am currently working on implementing a simple encrypted file system >>>> using a stackable file system WrapFS <http://wrapfs.filesystems.org/>. >>>> In order to do so, as I read in the WrapFS mailing list >>>> <http://www.fsl.cs.sunysb.edu/pipermail/wrapfs/2011-November/000058.html> >>>> one needs to implement address space operations, which I have done and >>>> posted on my github at this link >>>> <https://github.com/bawejakunal/wrapfs-addresspace-operations/blob/master/mmap.c> >>>> and it works fine. But now when I am trying to modify the data before being >>>> written in wrapfs_lower() function I get a blank output in files written >>>> out. >>>> Please guide where am I going wrong in modifying the data to be written >>>> and what could be the best way to decrypt it ? >>>> >>>> Thanks >>>> >>>> *Kunal Baweja* >>>> >>>> Undergraduate B.E. (Hons.) Computer Science >>>> Birla Institute Of Technology & Science, Pilani >>>> K.K. Birla Goa Campus >>>> +91 9049655665 >>>> >>>> _______________________________________________ >>>> Kernelnewbies mailing list >>>> Kernelnewbies at kernelnewbies.org >>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >>>> >>>> >>> >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies at kernelnewbies.org >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/ce97bc9a/attachment.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 11:55 ` devendra.aaru 2015-01-30 12:59 ` Kunal Baweja @ 2015-01-30 13:31 ` Valdis.Kletnieks at vt.edu 1 sibling, 0 replies; 11+ messages in thread From: Valdis.Kletnieks at vt.edu @ 2015-01-30 13:31 UTC (permalink / raw) To: kernelnewbies On Fri, 30 Jan 2015 06:55:53 -0500, "devendra.aaru" said: > This is not caesar's cipher. If your buffer contains alphabets then only > you can apply caesar cipher. > > It should be something like > > encrypted[i] = (data[i] - 3) % 26; Consider the sequence of 4 hex bytes 0x17314B65. Your code will output that as 0x14141414. What happens when you try to decrypt that? Issue two: Your code fails to re-add an 'a' or 'A' as appropriate, so instead of rotating through ASCII hex codes 41-5A and 61-7A,it smashes then down to 0-19. If you're going that route, you need to go the *whole* way down that route: temp = data[i]; if (temp >= 'A' && temp <= 'Z') encrypted[i] = (temp -3) % 26 + 'A'; else if (temp >= 'a' && temp <= 'z') encrypted[i] = (temp -3) % 26 + 'a'; else encrypted[i] = temp; Moral of the story: Designing secure usable crypto is a *lot* harder than it looks. Also, I'm going to put in a plug for Bruce Schneier's 'Applied Cryptography, Second Edition' - a must-read if you're planning to do actual crypto work. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 848 bytes Desc: not available Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/9e9cb1a9/attachment.bin ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 11:48 ` Kunal Baweja 2015-01-30 11:55 ` devendra.aaru @ 2015-01-30 13:13 ` Valdis.Kletnieks at vt.edu 2015-01-30 13:17 ` Kunal Baweja 1 sibling, 1 reply; 11+ messages in thread From: Valdis.Kletnieks at vt.edu @ 2015-01-30 13:13 UTC (permalink / raw) To: kernelnewbies On Fri, 30 Jan 2015 17:18:21 +0530, Kunal Baweja said: > void encrypt(char *data, char *encrypted, size_t size) > { > unsigned int i; > for(i=0;i<(unsigned int)size;i++) > encrypted[i] = data[i] + 3; > printk(KERN_INFO "%s",encrypted); > return; > } > > So in the given code wherever u see the calls to *wrapfs_encrypt*, I have > replaced with my simpler encryption function. > > But I am not able to figure out why calling this function creates a > problem, the printk() statement inside the function shows me the correctly > encrypted contents but the file is still blank. Stupid question, but... once you call encrypt(data, encrypted, size), do you then write out the 'encrypted' buffer, or do you write out 'data'? (Bonus points for avoiding a memory leak here :) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 848 bytes Desc: not available Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/12ef82ab/attachment.bin ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 13:13 ` Valdis.Kletnieks at vt.edu @ 2015-01-30 13:17 ` Kunal Baweja 2015-01-30 13:35 ` Valdis.Kletnieks at vt.edu 0 siblings, 1 reply; 11+ messages in thread From: Kunal Baweja @ 2015-01-30 13:17 UTC (permalink / raw) To: kernelnewbies Obviously I am writing the encrypted data :-/ I will post my code on github in an hour so that everyone gets to know what exactly I am doing :-) On 6:44pm, Fri 30-Jan-2015 null <Valdis.Kletnieks@vt.edu> wrote: > On Fri, 30 Jan 2015 17:18:21 +0530, Kunal Baweja said: > > > void encrypt(char *data, char *encrypted, size_t size) > > { > > unsigned int i; > > for(i=0;i<(unsigned int)size;i++) > > encrypted[i] = data[i] + 3; > > printk(KERN_INFO "%s",encrypted); > > return; > > } > > > > So in the given code wherever u see the calls to *wrapfs_encrypt*, I have > > replaced with my simpler encryption function. > > > > But I am not able to figure out why calling this function creates a > > problem, the printk() statement inside the function shows me the > correctly > > encrypted contents but the file is still blank. > > Stupid question, but... once you call encrypt(data, encrypted, size), > do you then write out the 'encrypted' buffer, or do you write out 'data'? > > (Bonus points for avoiding a memory leak here :) > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/c5d5950a/attachment.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 13:17 ` Kunal Baweja @ 2015-01-30 13:35 ` Valdis.Kletnieks at vt.edu 2015-01-30 14:01 ` Kunal Baweja 0 siblings, 1 reply; 11+ messages in thread From: Valdis.Kletnieks at vt.edu @ 2015-01-30 13:35 UTC (permalink / raw) To: kernelnewbies On Fri, 30 Jan 2015 13:17:10 +0000, Kunal Baweja said: > Obviously I am writing the encrypted data :-/ Just checking. You'd be *amazed* at how many times in the last 35 years of code hacking, I've asked questions like that and there's a 10 second pause before the person goes into Emily Litella mode... "Nevermind...". (For those who don't get it - https://screen.yahoo.com/weekend-emily-litella-violins-tv-000000080.html -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 848 bytes Desc: not available Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/d67de01b/attachment-0001.bin ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 13:35 ` Valdis.Kletnieks at vt.edu @ 2015-01-30 14:01 ` Kunal Baweja 2015-01-30 14:46 ` Kunal Baweja 0 siblings, 1 reply; 11+ messages in thread From: Kunal Baweja @ 2015-01-30 14:01 UTC (permalink / raw) To: kernelnewbies Ok for the sake of correctness and robustness of caeser cipher I have made the suggested changes to it and the code is posted here: https://github.com/bawejakunal/wrapfs-caeser/blob/master/mmap.c Now coming back to the actual problem can someone please help me as to why isn't the encrypted data being written to the files. The printk() statements do show me the encrypted data though. *Kunal Baweja* Undergraduate B.E. (Hons.) Computer Science Birla Institute Of Technology & Science, Pilani K.K. Birla Goa Campus +91 9049655665 On Fri, Jan 30, 2015 at 7:05 PM, <Valdis.Kletnieks@vt.edu> wrote: > On Fri, 30 Jan 2015 13:17:10 +0000, Kunal Baweja said: > > > Obviously I am writing the encrypted data :-/ > > Just checking. You'd be *amazed* at how many times in the last 35 years > of code hacking, I've asked questions like that and there's a 10 second > pause before the person goes into Emily Litella mode... "Nevermind...". > > (For those who don't get it - > https://screen.yahoo.com/weekend-emily-litella-violins-tv-000000080.html > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/c3abe1bf/attachment.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Intercepting memory mapped files 2015-01-30 14:01 ` Kunal Baweja @ 2015-01-30 14:46 ` Kunal Baweja 0 siblings, 0 replies; 11+ messages in thread From: Kunal Baweja @ 2015-01-30 14:46 UTC (permalink / raw) To: kernelnewbies Ok somehow after introducing the robustness in caeser cipher it is working correctly. Thanks. But the questions still remains why wasn't the data being written to the file previously ? *Kunal Baweja* Undergraduate B.E. (Hons.) Computer Science Birla Institute Of Technology & Science, Pilani K.K. Birla Goa Campus +91 9049655665 On Fri, Jan 30, 2015 at 7:31 PM, Kunal Baweja <bawejakunal15@gmail.com> wrote: > Ok for the sake of correctness and robustness of caeser cipher I have made > the suggested changes to it and the code is posted here: > https://github.com/bawejakunal/wrapfs-caeser/blob/master/mmap.c Now > coming back to the actual problem can someone please help me as to why > isn't the encrypted data being written to the files. The printk() > statements do show me the encrypted data though. > > *Kunal Baweja* > > Undergraduate B.E. (Hons.) Computer Science > Birla Institute Of Technology & Science, Pilani > K.K. Birla Goa Campus > +91 9049655665 > > On Fri, Jan 30, 2015 at 7:05 PM, <Valdis.Kletnieks@vt.edu> wrote: > >> On Fri, 30 Jan 2015 13:17:10 +0000, Kunal Baweja said: >> >> > Obviously I am writing the encrypted data :-/ >> >> Just checking. You'd be *amazed* at how many times in the last 35 years >> of code hacking, I've asked questions like that and there's a 10 second >> pause before the person goes into Emily Litella mode... "Nevermind...". >> >> (For those who don't get it - >> https://screen.yahoo.com/weekend-emily-litella-violins-tv-000000080.html >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150130/861778f2/attachment.html ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-01-30 14:46 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-01-30 10:26 Intercepting memory mapped files Kunal Baweja 2015-01-30 10:33 ` Saket Sinha 2015-01-30 11:48 ` Kunal Baweja 2015-01-30 11:55 ` devendra.aaru 2015-01-30 12:59 ` Kunal Baweja 2015-01-30 13:31 ` Valdis.Kletnieks at vt.edu 2015-01-30 13:13 ` Valdis.Kletnieks at vt.edu 2015-01-30 13:17 ` Kunal Baweja 2015-01-30 13:35 ` Valdis.Kletnieks at vt.edu 2015-01-30 14:01 ` Kunal Baweja 2015-01-30 14:46 ` Kunal Baweja
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.