Check-in [b13dfe3b17]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Bump version number
Timelines: family | ancestors | descendants | both | trunk | 0.8.5-20181220
Files: files | file ages | folders
SHA1: b13dfe3b172c63f38b0236aad269989898249842
User & Date: bernd 2018-12-20 12:44:19
Context
2018-12-21
22:18
Start adding id to GUI entry screen check-in: 5a0865b281 user: bernd tags: trunk
2018-12-20
12:44
Bump version number check-in: b13dfe3b17 user: bernd tags: trunk, 0.8.5-20181220
2018-12-17
21:13
color palette code adaption check-in: 10c6ced4ff user: bernd tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to cmd.fs.

   336    336   :noname  cmd$ $off ; to cmdreset
   337    337   ' true to maxstring \ really maxuint = -1 = true
   338    338   :noname ( addr u -- ) cmd$ $+! ; to +cmdbuf
   339    339   :noname ( n -- )  cmd$ $@len + cmd$ $!len ; to -cmdbuf
   340    340   :noname ( -- 64dest ) 64#0 ; to cmddest
   341    341   
   342    342   : gen-cmd ( xt -- $addr )
   343         -    cmdbuf-o @ >r code-buf$ 0 cmd$ !@ >r
          343  +    cmdbuf-o @ >r code-buf$ 0 cmd$ !@ >r cmdbuf# @ >r
   344    344       catch
   345         -    r> cmd$ !@ r> cmdbuf-o !  swap throw ;
          345  +    r> cmdbuf# !  r> cmd$ !@ r> cmdbuf-o !  swap throw ;
   346    346   : gen-cmd$ ( xt -- addr u )
   347    347       gen-cmd  1 tmp$# +!  tmp$ $!buf  tmp$ $@ ;
   348    348   
   349    349   code0-buf \ reset default
   350    350   
   351    351   :noname ( -- addr u ) cmd0buf cmdbuf# @ ; to cmdbuf$
   352    352   ' cmd0lock to cmdlock

Changes to configure.ac.

    11     11   # but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     12   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13     13   # GNU Affero General Public License for more details.
    14     14   
    15     15   # You should have received a copy of the GNU Affero General Public License
    16     16   # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17     17   
    18         -AC_INIT([net2o], [0.8.4-20181213], [bernd@net2o.de], [net2o], [https://fossil.net2o.de/net2o/reportlist])
           18  +AC_INIT([net2o], [0.8.5-20181220], [bernd@net2o.de], [net2o], [https://fossil.net2o.de/net2o/reportlist])
    19     19   AC_PREREQ([2.59])
    20     20   AC_CONFIG_MACRO_DIR([m4])
    21     21   AC_USE_SYSTEM_EXTENSIONS
    22     22   LT_INIT
    23     23   
    24     24   AC_MSG_CHECKING([for gforth])
    25     25   

Changes to do.

     1      1   #!/bin/bash
     2      2   
     3      3   echo "This script builds net2o from scratch"
     4      4   
     5         -GFORTH=gforth-0.7.9_20181213
            5  +GFORTH=gforth-0.7.9_20181220
     6      6   
     7      7   if [ "$(uname -o)" = "Cygwin" ]
     8      8   then
     9      9       CONFOPT="--prefix=/usr $*"
    10     10   else
    11     11       CONFOPT="$*"
    12     12   fi

Changes to dvcs.fs.

   168    168       endcase ;
   169    169   
   170    170   \ encrypted hash stuff, using signature secret as PSK
   171    171   
   172    172   \ probably needs padding...
   173    173   
   174    174   : write-enc-hashed ( addr1 u1 -- addrhash85 u2 )
          175  +    $make { w^ enc-pad$ } enc-pad$ $@
   175    176       keyed-hash-out hash#128 ['] 85type $tmp 2>r
   176    177       enchash  2>r
   177         -    save-mem 2dup c:encrypt  over swap
          178  +    2dup c:encrypt
   178    179       ?.net2o/objects  2r> hash>filename  spit-file
   179         -    free throw  2r> ;
          180  +    enc-pad$ $free 2r> ;
   180    181   
   181    182   : enchash>filename ( hash1 u1 -- filename u2 )
   182    183       keyed-hash-out hash#128 smove
   183    184       enchash hash>filename ;
   184    185   
   185    186   Variable patch-in$
   186    187   
................................................................................
   499    500   
   500    501   Variable id-files[]
   501    502   
   502    503   : dvcs-gen-id ( -- addr u )
   503    504       id-files[] $[]off
   504    505       dvcs:files# [: dup cell+ $@ 2>r $@ 2r> [: forth:type forth:type ;] $tmp
   505    506   	id-files[] $ins[] drop ;] #map \ sort filenames
   506         -    [: id-files[] [:
   507         -	    over hash#128 $, dvcs-read hash#128 /string
          507  +    [:  id-files[] [: drop hash#128 $, dvcs-read ;] $[]map
          508  +	id-files[] [: hash#128 /string
   508    509   	    0 dvcs:perm /string 2dup $,
   509    510   	    2 /string file-lsize@ lit, dvcs-write
   510    511   	;] $[]map ;] gen-cmd$
   511    512       dup IF  >file-hash  THEN ;
   512    513   
   513    514   previous
   514    515   
................................................................................
   731    732       c:0key >hash hashtmp hash#128 85type ;
   732    733    
   733    734   : (dvcs-ci) ( addr u o:dvcs -- ) dvcs:message$ $!
   734    735       dvcs:oldid$ dvcs-readin
   735    736       ref-files[] $[]# new-files[] $[]# del-files[] $[]# or or 0= IF
   736    737   	." Nothing to do" cr
   737    738       ELSE
   738         -	['] compute-diff gen-cmd$ \ 2dup net2o:see
          739  +	['] compute-diff gen-cmd$
          740  +	$make { w^ diff$ } diff$ $@ \ 2dup net2o:see
   739    741   	dvcs( ." ===== patch len: " dvcs:patch$ $@len . ." =====" cr )
   740    742   	del-files[] ['] -fileentry $[]map
   741    743   	new-files[] ['] +fileentry $[]map
   742    744   	ref-files[] ['] +fileentry $[]map
   743    745   	>id-revision  dvcs-newsentry
   744    746   	['] dvcs-sig$ project:chain$ dup $free $exec
   745    747   	save-project  filelist-out
   746    748   	"~+/.n2o/newfiles" ?delete-file
   747    749   	"~+/.n2o/reffiles" ?delete-file
          750  +	diff$ $free
   748    751       THEN  clean-up ;
   749    752   
   750    753   : dvcs-ci ( addr u -- ) \ checkin command
   751    754       dvcs:new-dvcs >o now>never (dvcs-ci)  dvcs:dispose-dvcs o> ;
   752    755   
   753    756   : dvcs-diff ( -- )
   754    757       dvcs:new-dvcs >o dvcs:oldid$ dvcs-readin

Changes to file.fs.

   197    197       c:key@ >r
   198    198       over >r fs:fs-read
   199    199       fs-cryptkey $@ drop c:key!
   200    200       r> over c:decrypt
   201    201       r> c:key! ; hashfs-class to fs-read
   202    202   :noname ( addr u -- n )
   203    203       dup 0= IF  nip  EXIT  THEN
          204  +    $make { w^ file-pad$ } file-pad$ $@
   204    205       c:key@ >r  fs-cryptkey $@ drop c:key!
   205         -    save-mem 2dup c:encrypt over >r fs:fs-write r> free throw
          206  +    2dup c:encrypt fs:fs-write file-pad$ $free
   206    207       r> c:key! ; hashfs-class to fs-write
   207    208   :noname ( -- )
   208    209       fs:fs-close
   209    210       fs-cryptkey $free ; hashfs-class to fs-close
   210    211   
   211    212   \ subclassing for other sorts of files
   212    213   

Changes to json/g+-import.fs.

   144    144   : add-comment ( dvcs -- )
   145    145       [: ." comment-" 1 comment# +!@ 0 <# # # # #> type ." .md" ;] $tmp add-file ;
   146    146   
   147    147   : create>never ( o:comments -- )
   148    148       comments:creationTime! comments:updateTime! 64umax 64#-1 sigdate le-128! ;
   149    149   
   150    150   : add-comments { dvcs -- }
          151  +    my-key-default >r
   151    152       comments:comments[] $@ bounds U+DO
   152    153   	I @ >o
   153    154   	dvcs add-comment
   154    155   	comments:media{} ?dup-IF  >o dvcs add-media o>  THEN
   155         -	comments:author{} .author:mapped-key dvcs >o to my-key o>
          156  +	comments:author{} .author:mapped-key to my-key-default
   156    157   	create>never
   157    158   	"comment" dvcs .(dvcs-ci)  last-msg 2@ post-ref 2!
   158         -	dvcs add-plusones
   159         -	dvcs add-reshares
          159  +	dvcs add-plusones \ plusones not exported at the moment
          160  +	\ dvcs add-reshares \ reshares of comments not possible
   160    161   	o>
   161         -    cell +LOOP ;
          162  +    cell +LOOP
          163  +    r> to my-key-default ;
   162    164   
   163    165   : write-out-article ( o:comment -- )
   164    166       >dir redate-mode on  comment# off
   165    167       dvcs:new-dvcs { dvcsp }
   166    168       comments:url$ basename [: ." posts/" type ." /.n2o" ;] $tmp
   167    169       .net2o-cache/ 2dup $1FF init-dir drop dirname set-dir throw
   168    170       ".n2o/files" touch
   169    171       comments:url$ basename dvcsp >o project:project$ $!
   170    172       "master" project:branch$ $! save-project o>
   171    173       dvcsp add-post
   172    174       dvcsp add-album
   173    175       comments:media{} ?dup-IF  >o dvcsp add-media o>  THEN
   174    176       create>never
   175         -    "post" dvcsp .(dvcs-ci)  last-msg 2@ ~~ post-ref 2!
          177  +    "post" dvcsp .(dvcs-ci)  last-msg 2@ post-ref 2!
   176    178       dvcsp add-plusones
   177    179       dvcsp add-reshares
   178    180       dvcsp add-comments
   179    181       dvcsp .dvcs:dispose-dvcs
   180    182       dir> redate-mode off ;

Changes to keys.fs.

   342    342   	dup cells 85colors + @ attr! 1+
   343    343   	I 4 85type  dup cells 85colors + @ attr! 1+
   344    344       I 4 + 4 85type <default> cr 8 +LOOP  drop ;
   345    345   : .import85 ( addr u -- )
   346    346       ke-imports @ >im-color 85type <default> ;
   347    347   : .rsk ( nick u -- )
   348    348       skrev $20 .stripe85 space type ."  (keep offline copy!)" cr ;
   349         -: .key ( addr u -- ) drop cell+ >o
          349  +: .key ( addr u -- )
   350    350       ." nick:   " .nick cr
   351    351       ." pubkey: " ke-pk $@ 85type cr
   352    352       ke-sk @ IF
   353    353   	." seckey: " ke-sk sec@ .black85 ."  (keep secret!)" cr  THEN
   354    354       ke-wallet @ IF
   355    355   	." wallet: " ke-wallet sec@ .black85 ."  (keep secret!)" cr  THEN
   356    356       ." valid:  " ke-selfsig $@ .sigdates cr
   357    357       ." groups: " ke-groups $@ .in-groups cr
   358         -    ." perm:   " ke-mask @ .perm cr
   359         -    o> ;
          358  +    ." perm:   " ke-mask @ .perm cr ;
   360    359   : .key-rest ( o:key -- o:key )
   361    360       ke-pk $@ key| .import85
   362    361       ke-wallet sec@ nip IF
   363    362   	wallet( space ke-wallet sec@ .black85 )else( ."  W" )
   364    363       ELSE  wallet( $15 )else( 2 ) spaces THEN
   365    364       ke-selfsig $@ space .sigdates
   366    365       ke-groups $@ 2dup .in-groups groups>mask invert
................................................................................
   430    429   : dumpkey ( addr u -- ) drop cell+ >o
   431    430       .\" x\" " ke-pk $@ 85type .\" \" key?new" cr
   432    431       ke-sk @ IF  .\" x\" " ke-sk @ keysize 85type .\" \" ke-sk sec! +seckey" cr  THEN
   433    432       '"' emit .nick .\" \" ke-nick $! "
   434    433       ke-selfsig $@ drop 64@ 64>d [: '$' emit 0 ud.r ;] $10 base-execute
   435    434       ." . d>64 ke-first! " ke-type @ . ." ke-type !"  cr o> ;
   436    435   
   437         -: .keys ( -- ) key# [: ." index: " dup $@ 85type cr cell+ $@ .key ;] #map ;
          436  +: .keys ( -- ) key# [: ." index: " dup $@ 85type cr cell+ $@
          437  +	 drop cell+ ..key ;] #map ;
   438    438   : dumpkeys ( -- ) key# [: cell+ $@ dumpkey ;] #map ;
   439    439   
   440    440   : key>o ( addrkey u1 -- o / 0 )
   441    441       key| key# #@ 0= IF  drop 0  EXIT  THEN  cell+ ;
   442    442   : key>nick ( addrkey u1 -- nick u2 )
   443    443       \G convert key to nick
   444    444       key>o dup IF  .ke-nick $@  ELSE  0  THEN ;
................................................................................
  1057   1057   : dest-pk ( addr u -- ) key2| 2dup key| key# #@ 0= IF
  1058   1058   	drop  perm%unknown
  1059   1059       ELSE  cell+ >o 2drop
  1060   1060   	ke-pk $@ ke-mask @ o>  THEN
  1061   1061       perm-mask ! pubkey $! ;
  1062   1062   
  1063   1063   : replace-key 1 /string { rev-addr u -- o } \ revocation ticket
  1064         -    key( ." Replace:" cr o cell- 0 .key )
         1064  +    key( ." Replace:" cr .key )
  1065   1065       import#self import-type !
  1066   1066       s" #revoked" dup >r ke-nick $+!
  1067   1067       ke-nick $@ r> - ke-prof $@ ke-sigs[] ke-type @
  1068   1068       rev-addr pkrk# key?new >o
  1069   1069       ke-type ! [: ke-sigs[] $+[]! ;] $[]map ke-prof $! ke-nick $!
  1070   1070       rev-addr pkrk# ke-pk $!
  1071   1071       rev-addr u + 1- dup c@ 2* - $10 - $10 ke-selfsig $!
  1072         -    key( ." with:" cr o cell- 0 .key ) o o>
         1072  +    key( ." with:" cr .key ) o o>
  1073   1073       import#new import-type ! ;
  1074   1074   
  1075   1075   : renew-key ( revaddr u1 keyaddr u2 -- o )
  1076   1076       current-key >o replace-key o>
  1077   1077       >o skc keysize ke-sk sec! o o> ;
  1078   1078   
  1079   1079   \ generate new key

Changes to wiki/commands.md.

     1      1   # Commands #
     2      2   
     3         -Version 0.8.4-20181213.
            3  +Version 0.8.5-20181220.
     4      4   
     5      5   net2o separates data and commands.  Data is passed through to higher
     6      6   layers, commands are interpreted when they arrive.  For connection
     7      7   requests, a special bit is set, and the address then isn't used as
     8      8   address, but as IV for the opportunistic encoding.
     9      9   
    10     10   The command interpreter is a stack machine with two data types: 64