AmendHub

Download:

jcs

/

detritus

/

amendments

/

9

*: Rename to Detritus


jcs made amendment 9 about 1 year ago
--- detritus.π.r Mon Sep 30 20:58:34 2024 +++ detritus.π.r Mon Sep 30 20:58:34 2024 @@ -0,0 +1,75 @@ +data 'MENU' (128) { + $"0080 0000 0000 0000 0000 FFFF FFFB 0114" /* .Ä.............. */ + $"1241 626F 7574 2057 696B 6970 6564 6961" /* .About Wikipedia */ + $"2E2E 2E00 0000 0001 2D00 0000 0000" /* ........-..... */ +}; + +data 'MENU' (129) { + $"0081 0000 0000 0000 0000 FFFF FFFF 0446" /* .Å.............F */ + $"696C 6504 5175 6974 0051 0000 00" /* ile.Quit.Q... */ +}; + +data 'MENU' (130) { + $"0082 0000 0000 0000 0000 FFFF FFFF 0445" /* .Ç.............E */ + $"6469 7403 4375 7400 5800 0004 436F 7079" /* dit.Cut.X...Copy */ + $"0043 0000 0550 6173 7465 0056 0000 0A53" /* .C...Paste.V...S */ + $"656C 6563 7420 416C 6C00 4100 0000" /* elect All.A... */ +}; + +data 'MENU' (131) { + $"0083 0000 0000 0000 0000 FFFF FFFF 0456" /* .É.............V */ + $"6965 770B 5669 6577 2053 6F75 7263 6500" /* iew.View Source. */ + $"5500 0000" /* U... */ +}; + +data 'MBAR' (128) { + $"0004 0080 0081 0082 0083" /* ...Ä.Å.Ç.É */ +}; + +data 'DITL' (130, "ASK") { + $"0003 0000 0000 004E 00FA 0064 0134 0403" /* .......N...d.4.. */ + $"5965 7321 0000 0000 004E 00B4 0064 00EE" /* Yes!.....N.¥.d.. */ + $"0402 4E6F 0000 0000 000D 004E 0041 0136" /* ..No.....¬.N.A.6 */ + $"0802 5E30 0000 0000 000D 0017 002D 0037" /* ..^0.....¬...-.7 */ + $"A002 0001" /* †... */ +}; + +data 'vers' (1) { + $"0010 6000 0000 0330 2E31 2630 2E31 20A9" /* ..`....0.1&0.1 © */ + $"2032 3032 342C 206A 6F73 6875 6120 7374" /* 2024, joshua st */ + $"6569 6E20 3C6A 6373 406A 6373 2E6F 7267" /* ein <jcs@jcs.org */ + $"3E" /* > */ +}; + +data 'ICN#' (128) { + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0C00 0000 1800 0060 3000 06F0" /* ...........`0... */ + $"2007 C790 23E6 4490 202D C490 2028 0410" /* .«ê#.Dê -ƒê (.. */ + $"1048 0410 0FC4 0000 0007 F000 0000 0000" /* .H...ƒ.......... */ + $"0000 0000 0040 0000 0006 07C0 000B 0440" /* .....@.....¿...@ */ + $"0048 8840 0048 9040 0050 9040 0010 9040" /* .Hà@.Hê@.Pê@..ê@ */ + $"0000 18C0 0000 0700 0000 0000 0000 0000" /* ...¿............ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ +}; + +data 'BNDL' (128) { + $"474D 4E4F 0000 0001 4652 4546 0000 0000" /* GMNO....FREF.... */ + $"0080 4943 4E23 0000 0000 0080" /* .ÄICN#.....Ä */ +}; + +data 'FREF' (128) { + $"4150 504C 0000 00" /* APPL... */ +}; + +data 'GMNO' (0, "Owner resource") { + $"00" /* . */ +}; + --- detritus.h Thu Oct 24 13:20:34 2024 +++ detritus.h Thu Oct 24 13:20:34 2024 @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2022 joshua stein <jcs@jcs.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef __GEMINO_H__ +#define __GEMINO_H__ + +#include "browser.h" +#include "gemini.h" +#include "util.h" + +#define PROGRAM_NAME "Detritus" + +#define MBAR_ID 128 + +#define APPLE_MENU_ID 128 +#define APPLE_MENU_ABOUT_ID 1 + +#define FILE_MENU_ID 129 +#define FILE_MENU_QUIT_ID 1 + +#define EDIT_MENU_ID 130 +#define EDIT_MENU_CUT_ID 1 +#define EDIT_MENU_COPY_ID 2 +#define EDIT_MENU_PASTE_ID 3 +#define EDIT_MENU_SELECT_ALL_ID 4 + +extern uint8_t tls_req_last_id; + +struct tls_init_request { + uint8_t flags[2]; +#define BLUESCSI_TLS_INIT_REQUEST_FLAG_NO_VERIFY (1 << 0) + uint8_t unix_time[4]; + char hostname[256]; +}; + +struct URI { +#define URI_PROTOCOL_LEN 20 + char protocol[URI_PROTOCOL_LEN + 1]; +#define URI_HOSTNAME_LEN 255 + char hostname[URI_HOSTNAME_LEN + 1]; +#define URI_PATH_LEN 512 + char path[URI_PATH_LEN + 1]; + unsigned short port; + char str[1024]; +}; + +struct request_handler { + struct URI * (*parse_uri)(char *uristr); + void * (*init_request)(struct browser *browser, struct URI *uri); + bool (*process_request)(void *cookie); + void (*free_request)(void *cookie); +}; + +extern MenuHandle file_menu, edit_menu; + +void menu_defaults(void); + +short scsi_find_tls(void); +uint8_t scsi_tls_init(struct tls_init_request *req); +bool scsi_tls_close(uint8_t tls_id); +short scsi_tls_status(uint8_t tls_id, short *cipherspace, + short *plainspace, short *error); +size_t scsi_tls_read(uint8_t tls_id, unsigned char **buf, size_t max_size, + bool cipher); +size_t scsi_tls_write(uint8_t tls_id, unsigned char *buf, size_t buf_size, + bool cipher); +void scsi_cleanup(void); + +#endif \ No newline at end of file --- gemino.π.r Mon Sep 30 20:58:34 2024 +++ gemino.π.r Thu Oct 24 13:20:34 2024 @@ -1,75 +0,0 @@ -data 'MENU' (128) { - $"0080 0000 0000 0000 0000 FFFF FFFB 0114" /* .Ä.............. */ - $"1241 626F 7574 2057 696B 6970 6564 6961" /* .About Wikipedia */ - $"2E2E 2E00 0000 0001 2D00 0000 0000" /* ........-..... */ -}; - -data 'MENU' (129) { - $"0081 0000 0000 0000 0000 FFFF FFFF 0446" /* .Å.............F */ - $"696C 6504 5175 6974 0051 0000 00" /* ile.Quit.Q... */ -}; - -data 'MENU' (130) { - $"0082 0000 0000 0000 0000 FFFF FFFF 0445" /* .Ç.............E */ - $"6469 7403 4375 7400 5800 0004 436F 7079" /* dit.Cut.X...Copy */ - $"0043 0000 0550 6173 7465 0056 0000 0A53" /* .C...Paste.V...S */ - $"656C 6563 7420 416C 6C00 4100 0000" /* elect All.A... */ -}; - -data 'MENU' (131) { - $"0083 0000 0000 0000 0000 FFFF FFFF 0456" /* .É.............V */ - $"6965 770B 5669 6577 2053 6F75 7263 6500" /* iew.View Source. */ - $"5500 0000" /* U... */ -}; - -data 'MBAR' (128) { - $"0004 0080 0081 0082 0083" /* ...Ä.Å.Ç.É */ -}; - -data 'DITL' (130, "ASK") { - $"0003 0000 0000 004E 00FA 0064 0134 0403" /* .......N...d.4.. */ - $"5965 7321 0000 0000 004E 00B4 0064 00EE" /* Yes!.....N.¥.d.. */ - $"0402 4E6F 0000 0000 000D 004E 0041 0136" /* ..No.....¬.N.A.6 */ - $"0802 5E30 0000 0000 000D 0017 002D 0037" /* ..^0.....¬...-.7 */ - $"A002 0001" /* †... */ -}; - -data 'vers' (1) { - $"0010 6000 0000 0330 2E31 2630 2E31 20A9" /* ..`....0.1&0.1 © */ - $"2032 3032 342C 206A 6F73 6875 6120 7374" /* 2024, joshua st */ - $"6569 6E20 3C6A 6373 406A 6373 2E6F 7267" /* ein <jcs@jcs.org */ - $"3E" /* > */ -}; - -data 'ICN#' (128) { - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0C00 0000 1800 0060 3000 06F0" /* ...........`0... */ - $"2007 C790 23E6 4490 202D C490 2028 0410" /* .«ê#.Dê -ƒê (.. */ - $"1048 0410 0FC4 0000 0007 F000 0000 0000" /* .H...ƒ.......... */ - $"0000 0000 0040 0000 0006 07C0 000B 0440" /* .....@.....¿...@ */ - $"0048 8840 0048 9040 0050 9040 0010 9040" /* .Hà@.Hê@.Pê@..ê@ */ - $"0000 18C0 0000 0700 0000 0000 0000 0000" /* ...¿............ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ - $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ -}; - -data 'BNDL' (128) { - $"474D 4E4F 0000 0001 4652 4546 0000 0000" /* GMNO....FREF.... */ - $"0080 4943 4E23 0000 0000 0080" /* .ÄICN#.....Ä */ -}; - -data 'FREF' (128) { - $"4150 504C 0000 00" /* APPL... */ -}; - -data 'GMNO' (0, "Owner resource") { - $"00" /* . */ -}; - --- gemino.h Tue Oct 1 20:07:23 2024 +++ gemino.h Thu Oct 24 13:20:34 2024 @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2022 joshua stein <jcs@jcs.org> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifndef __GEMINO_H__ -#define __GEMINO_H__ - -#include "browser.h" -#include "util.h" - -#define PROGRAM_NAME "Gemino" - -#define MBAR_ID 128 - -#define APPLE_MENU_ID 128 -#define APPLE_MENU_ABOUT_ID 1 - -#define FILE_MENU_ID 129 -#define FILE_MENU_QUIT_ID 1 - -#define EDIT_MENU_ID 130 -#define EDIT_MENU_CUT_ID 1 -#define EDIT_MENU_COPY_ID 2 -#define EDIT_MENU_PASTE_ID 3 -#define EDIT_MENU_SELECT_ALL_ID 4 - -#define DEFAULT_GEMINI_PORT 1965 - -struct tls_init_request { - uint8_t flags[2]; -#define BLUESCSI_TLS_INIT_REQUEST_FLAG_NO_VERIFY (1 << 0) - uint8_t unix_time[4]; - char hostname[256]; -}; - -extern MenuHandle file_menu, edit_menu; - -void menu_defaults(void); - -short scsi_find_tls(void); -bool scsi_tls_init(char tls_id, unsigned char *buf, size_t buf_size, - struct tls_init_request *req); -bool scsi_tls_close(char tls_id); -short scsi_tls_status(char tls_id, unsigned char *buf, size_t buf_size, - short *cipherspace, short *plainspace, short *error); -size_t scsi_tls_read(char tls_id, unsigned char *buf, size_t buf_size, - bool cipher); -size_t scsi_tls_write(char tls_id, unsigned char *buf, size_t buf_size, - bool cipher); -void scsi_cleanup(void); - -#endif \ No newline at end of file --- main.c Tue Oct 1 20:06:37 2024 +++ main.c Wed Oct 23 09:12:46 2024 @@ -17,8 +17,7 @@ #include <stdio.h> #include <string.h> -#include "gemino.h" -#include "browser.h" +#include "detritus.h" #include "focusable.h" #include "tcp.h" #include "util.h" @@ -62,7 +61,7 @@ main(void) menu_defaults(); DrawMenuBar(); - progress("Finding BlueSCSI TLS..."); + progress("Finding BlueSCSI TLS Accelerator..."); if (scsi_find_tls() < 0) { progress(NULL); panic("No BlueSCSI TLS device found");