profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/diekmann/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Cornelius Diekmann diekmann Munich, Germany Proving stuff in Isabelle. Computer networks and security.

diekmann/Iptables_Semantics 87

Verified iptables Firewall Ruleset Analysis

diekmann/net-network 40

Public collection of firewall dumps.

diekmann/BACnetSim 14

A scala BACnet simulator using bacnet4J

diekmann/dump-x86_64-pagetable 8

Linux Kernel module to dump the page tables currently used by the CPU on intel 64bit systems with 4 level paging.

diekmann/Isabelle-Hello-World 3

Hello World in Isabelle, compiled to Haskell

diekmann/cctrack 2

Adaptive Low-Level Packet Sampling for High-Speed Networks

diekmann/fancy-octo-fropnicator 2

Simple tool to convert LaTeX generate pdt to a plain .txt file. Used to apply spelling and grammar checking by e.g. microsoft word

diekmann/python_tcpdump 2

a stdin parser for tcpdump. HACKY!

startedseL4/sel4webserver-manifest

started time in 6 days

issue openedseL4/sel4webserver-manifest

Fresh build hangs in ruby bundle install sudo on systems with a fresh ruby installation.

On my sort-of clean Ubuntu 20.04.3 LTS system, compiling the webserver example hangs without showing an error message or explaining why it hangs.

Steps to reproduce:

  1. Clean your ruby installation, assume we are using ruby for the first time for this example:
    user@box:~$ sudo apt purge ruby
    [sudo] password for user: 
    [...]
    The following packages were automatically installed and are no longer required:
      fonts-lato ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit ruby-xmlrpc ruby2.7-doc rubygems-integration
    Use 'sudo apt autoremove' to remove them.
    The following packages will be REMOVED:
      bundler* libruby2.7* rake* ruby* ruby-bundler* ruby-dev* ruby-molinillo* ruby-net-http-persistent* ruby-thor* ruby2.7* ruby2.7-dev*
    0 upgraded, 0 newly installed, 11 to remove and 0 not upgraded.
    After this operation, 21,1 MB disk space will be freed.
    Do you want to continue? [Y/n] 
    [...]
    dpkg: warning: while removing ruby2.7, directory '/var/lib/gems/2.7.0' not empty so not removed
    [...]
    user@box:~$ sudo rm -rf /var/lib/gems/2.7.0
    user@box:~$ sudo apt install bundler
    [...]
    The following additional packages will be installed:
      libruby2.7 rake ruby ruby-bundler ruby-dev ruby-molinillo ruby-net-http-persistent ruby-thor ruby2.7 ruby2.7-dev
    Suggested packages:
      ri
    The following NEW packages will be installed:
      bundler libruby2.7 rake ruby ruby-bundler ruby-dev ruby-molinillo ruby-net-http-persistent ruby-thor ruby2.7 ruby2.7-dev
    0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
    Need to get 4.240 kB of archives.
    After this operation, 21,1 MB of additional disk space will be used.
    Do you want to continue? [Y/n]
    
  2. Follow the webserver example
    user@box:~/sel4-webserver-arm$ repo init -u https://github.com/SEL4PROJ/sel4webserver-manifest.git
    user@box:~/sel4-webserver-arm$ repo sync
    user@box:~/sel4-webserver-arm$ mkdir build
    user@box:~/sel4-webserver-arm$ cd build
    user@box:~/sel4-webserver-arm/build$ ../init-build.sh -DPLATFORM=qemu-arm-virt
    user@box:~/sel4-webserver-arm/build$ ninja
    
  3. The installation is hanging somewhere around the steps lighttpd or linux_out.
  4. Checking the processes, the installer is blocking on expecting me to provide my sudo password:
    user@box:~$ ps auxf
    [...]
    user        3283  0.0  0.0  11352  5684 pts/1    Ss   10:03   0:00  |   \_ bash
    user       32547  0.0  0.0   9932  7324 pts/1    S+   10:15   0:00  |   |   \_ ninja
    user       36606  0.0  0.0   2616   540 pts/1    T    10:15   0:00  |   |       \_ /bin/sh -c cd /home/user/sel4-webserver-arm/build/docsite-prefix/src/docsite && make build
    user       36608  0.0  0.0   8940  2780 pts/1    T    10:15   0:00  |   |           \_ make build
    user       41264  0.2  0.3 2299292 174908 pts/1  Tl   10:16   0:02  |   |               \_ /usr/bin/ruby /usr/bin/bundle install
    user       41314  0.0  0.0   2620   604 pts/1    T    10:16   0:00  |   |                   \_ sh -c sudo -k -p "  Your user account isn't allowed to install to the system RubyGems.   You can cancel this ins
    root       41315  0.0  0.0  11760  4492 pts/1    T    10:16   0:00  |   |                       \_ sudo -k -p   Your user account isn't allowed to install to the system RubyGems.   You can cancel this instal
    
    
    user@box:~$ cat /proc/41314/cmdline
    sh-csudo -k -p "
    
    Your user account isn't allowed to install to the system RubyGems.
      You can cancel this installation and run:
    
          bundle install --path vendor/bundle
    
      to install the gems into ./vendor/bundle/, or you can enter your password
      and install the bundled gems to RubyGems using sudo.
    
      Password: " true
    
  5. Unfortunately, it even looks like the non-interactive install pipeline is setup in a nice way where stdin is wired to /dev/null and I cannot simply pipe my password to stdin via the proc file descriptor:
    user@box:~$ ls -lah /proc/41314/fd
    total 0
    dr-x------ 2 user user  0 Okt 17 10:35 .
    dr-xr-xr-x 9 user user  0 Okt 17 10:16 ..
    lr-x------ 1 user user 64 Okt 17 10:35 0 -> /dev/null
    l-wx------ 1 user user 64 Okt 17 10:35 1 -> 'pipe:[69249]'
    l-wx------ 1 user user 64 Okt 17 10:35 2 -> 'pipe:[69249]'
    
  6. The installation hangs and it is not obvious how to continue.

As a workaround to continue, I did a alias yolo='sudo /usr/sbin/visudo' && yolo and added user ALL=(ALL) NOPASSWD: ALL (where user is my username) at the bottom of the file.

created time in 6 days

pull request commentseL4/sel4-tutorials

Correctly calculate the number of EndpointObjets

Ahh, thank you, yes!

In the solution, when we shall calculate the size of the untyped object, the solution is seL4_Word untyped_size_bits = seL4_TCBBits + 1;. Do you think it would make sense to comment in the solution how this was calculated?

diekmann

comment created time in 8 days

PR opened seL4/sel4-tutorials

Correctly calculate the number of EndpointObjets

The number of EndpointObjects to fill the entire endpoint object should be the size of the untyped object divided by the size of the EndpointObjects. The code previous to this PR works, but it does not fill up the object completely, creating a misleading tutorial description.

This bug in the tutorial may be a typo, since for example, / and - are the same key on a German keyboard with US layout.

I'm just proposing a change to this Markdown file and hope that the change will magically propagate to the code, or do I need to change the actual code somewhere, too?

+2 -2

0 comment

1 changed file

pr created time in 8 days

push eventdiekmann/sel4-tutorials

Cornelius Diekmann

commit sha 6ab1983c4d406bd3380980845b5ba39b8079a7c3

Correctly calculate the number of EndpointObjets The number of EndpointObjects to fill the entire endpoint object should be the size of the untyped object *divided* by the size of the EndpointObjects. The code previous to this PR works, but it does not fill up the object completely, creating a misleading tutorial description. This bug in the tutorial may be a typo, since for example, `/` and `-` are the same key on a German keyboard with US layout. I'm just proposing a change to this Markdown file and hope that the change will magically propagate to the code, or do I need to change the actual code somewhere, too?

view details

push time in 8 days

fork diekmann/sel4-tutorials

Tutorials for working with seL4 and/or CAmkES.

https://docs.sel4.systems/Tutorials

fork in 8 days

push eventdiekmann/Isabelle-Hello-World

diekmann

commit sha 460b7306797d81eec110f3b6c37fee6abf951987

Backport changes from AFP.

view details

push time in 14 days

delete branch diekmann/Isabelle-Hello-World

delete branch : master

delete time in 14 days

create barnchdiekmann/Isabelle-Hello-World

branch : main

created branch time in 14 days

issue commentdiekmann/wasm-fizzbuzz

Add a LICENSE

Hi Bailey,

thanks for your interest. I'm generally a fan of free open-source licenses. Yet, this personal hobby project already contains a lot of third party licensed code. For example,

I'm not a lawyer and I have no idea how to combine this under one unified standard FOSS license, if at all possible.

I'm happy to declare that my writing and code could be CC BY NC (NC because this is my understanding of DooM's license).

I like that everything needed to compile the code is just in this self-contained repository and that the GitHub pages can directly show the demo. My guess is, to make this tutorial licensable (is that even the correct term?) I need to remove lots of the third party stuff, for example, the doom1.wad. So for the sake of having this self-contained tutorial with the great GitHub pages, I chose not to add a LICENSE.

ricochet

comment created time in 3 months