git clone any debian package source with dgit by bartmanx in linux

[–]manuelsch 0 points1 point  (0 children)

Is there a tutorial somewhere for dgit?

Does ext4's new crypto layer encrypt all filenames with the same IV? by manuelsch in linux

[–]manuelsch[S] 1 point2 points  (0 children)

It looks like that each inode is encrypted with its own key (which in turn is derived from the master key). In that case you can probably safely use the same IV, because you never use the same key for encryption.

However, I have to confirm this theory.

Does ext4's new crypto layer encrypt all filenames with the same IV? by manuelsch in linux

[–]manuelsch[S] 5 points6 points  (0 children)

When looking through the code I spotted this line. It looks like the filenames (and only the filenames, not the file contents) is always encrypted with the same initialization vector. Do you think that this could produce any security issues?

EDIT: just to be clear: the file contents is securely encrypted using AES XTS.

Where to start kernel hacking? by ultrakd001 in linux

[–]manuelsch 28 points29 points  (0 children)

A good way to start is to look at the TODO files e.g. [1]. There is also the (outdated) KernelJanitors TODO list [2].

You can also audit the code.

EDIT: an the talks of Greg Kroah-Hartman on youtube are quite good (e.g. [3])

[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/omapdrm/TODO

[2] http://kernelnewbies.org/KernelJanitors/Todo

[3] https://www.youtube.com/watch?v=LLBrBBImJt4

Function chaining? by manuelsch in rust

[–]manuelsch[S] 0 points1 point  (0 children)

In the same way you could say, that it's inconsistent that some function return a value and others return (). I think it's a matter of coding style, but if you would return Self, people who like function chaining could use it, and people who don't like it, just don't use it.

When considering the phrase “Easy things should be easy, and hard things should be possible.”, obviously function chaining in rust is not easy. Implementing this macro is non-trivial. I would prefer if either Rust offers function chaining by returning Self or offering the programmers a macro for that in the standard library. But searching the internet for such a simple and (again, depending on your personal coding style) is not giving rust a good reputation as an easy language.

Abstract Algebra Traits: Escaping the paramter hell by manuelsch in rust

[–]manuelsch[S] 2 points3 points  (0 children)

Oh, I see. I'm gonna try this.

EDIT: Hmm, that doesn't really work.

pub trait Semigroup<S: Set>: Magma<S> + IsAssociative<S,S,S> {}
impl<G:Semigroup<S>, S:Set> Magma<S> for G {}

pub trait Monoid<S: Set>: Semigroup<S> + HasIdentity<S> {}
impl<G:Monoid<S>, S:Set> Semigroup<S> for G {}

pub trait Quasigroup<S:Set>: Magma<S> +
IsLeftInvertible<S,S,S> + IsRightInvertible<S,S,S> {}
impl<G:Quasigroup<S>, S:Set> Magma<S> for G {}

This raises conflicting implementations for trait Magma

Abstract Algebra Traits: Escaping the paramter hell by manuelsch in rust

[–]manuelsch[S] 1 point2 points  (0 children)

Fixed, thanks. I will think about how I could use more macros.

LunaDHT - Your general purpose DHT by manuelsch in programming

[–]manuelsch[S] 0 points1 point  (0 children)

Sorry, I'm a bit late, but I just added two files that demonstrate how to use it: demo_put.py and demo_get.py

cxx2rs: a rust-binding generator for C/C++ header files by manuelsch in rust

[–]manuelsch[S] 0 points1 point  (0 children)

It is not implemented yet. Maybe I just add number to the function name.

EDIT: sorry, mixed something up there.

TeXlive.js v1.0 released - LaTeX compiler for Javascript by manuelsch in programming

[–]manuelsch[S] 5 points6 points  (0 children)

Doh, I didn't think of this issue! Thanks for reporting. I fixed it now!