Commit graph

53 commits

Author SHA1 Message Date
XANTRONIX Development
eaa3a3a06a Use PATTY_AX25_ADDRSTRLEN in patty_ax25_pton() 2024-03-01 00:20:47 -05:00
XANTRONIX Development
b8c19ea6cd Fix address padding bug in patty_ax25_pton()
Fix address padding bug in patty_ax25_pton() wherein a literal space was
filled into an address field, rather than a space (0x20) shifted left by
one
2024-03-01 00:20:47 -05:00
XANTRONIX Development
222e51100e Implement SSID suffix stringes in pton()/ntop()
Implement SSID suffix stringes in pton()/ntop() to make it more
straightforward to specify addresses to bind, connect to, or add routes
for

Changes:

    * Implement SSID suffix string formatting in patty_ax25_ntop(); drop
      the 'ssid' pointer argument

    * Implement SSID suffix string parsing in patty_ax25_pton(); drop
      the 'ssid' argument

    * Change all calls to patty_ax25_ntop() and patty_ax25_pton() to use
      their new calling convention
2024-03-01 00:20:47 -05:00
XANTRONIX Development
79d1393e74 Implement patty_ax25_addr_copy()
Implement patty_ax25_addr_copy() as a means to copy a patty_ax25_addr
object from one location in memory to another, ensuring that the SSID
field only contains at minimum the station identifier (0-15) and the
reserved bits 0x60
2024-03-01 00:20:46 -05:00
XANTRONIX Development
a4518a839a Implement better modulo-128 I and S frame support
Changes:

    * Split patty_ax25_frame_decode() into the following:

      - patty_ax25_frame_decode_address()
      - patty_ax25_frame_decode_control()

      This allows for look up an established socket for a given address
      pair, to determine if an SABME session is in progress,
      necessitating modulo-128 control decoding

    * Decode I and S N(R), N(S) sequence numbers, poll/final
      bits properly in both modulo-8 and modulo-128 mode

    * Perform better frame control validation

    * Implement the following functions in src/sock.c:

      - patty_ax25_sock_send_rr()
      - patty_ax25_sock_send_rnr()
      - patty_ax25_sock_send_rej()
      - patty_ax25_sock_send_srej()

      Corresponding functions have been removed from src/server.c

    * Implement better functions in src/sock.c for encoding frame
      control, with send/receive sequences associated with the socket,
      with modulo-128 encoding for SABME sessions

Other changes:

    * Move or delete macros from include/patty/ax25/macros.h into
      include/patty/ax25.h and include/patty/ax25/frame.h

    * Move definitions from include/patty/ax25/proto.h to header file
      include/patty/ax25.h

    * Perform better bounds checking while decoding frames

    * Improve frame control printing in src/print.c; display frame
      type names, N(R), (NS) sequence numbers, and poll/final bits
2024-03-01 00:20:46 -05:00
XANTRONIX Development
4aced9e9c1 ...I've been busy. 2024-03-01 00:20:46 -05:00
XANTRONIX Development
d2e278f715 Massive refactoring afoot 2024-03-01 00:20:46 -05:00
XANTRONIX Development
fa3f4a2e0e Start of massive refactor 2024-03-01 00:20:46 -05:00
XANTRONIX Development
f3d42c61f9 Implement stub patty_ax25_accept() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
548c7149fb Rework socket calls to use patty_ax25_addr 2024-03-01 00:20:46 -05:00
XANTRONIX Development
f67002d06d Small hacks to get rid of compiler warnings 2024-03-01 00:20:46 -05:00
XANTRONIX Development
3759469611 First successful run of src/decode.c 2024-03-01 00:20:46 -05:00
XANTRONIX Development
a8db220bbd Major refactor WIP 2024-03-01 00:20:46 -05:00
XANTRONIX Development
153dc17c7b Start to whittle down src/ax25.c, include/ax25.h 2024-03-01 00:20:46 -05:00
XANTRONIX Development
4e5634cbc7 My final commit 2024-03-01 00:20:46 -05:00
XANTRONIX Development
a2b21eb848 Prevent redundant test of I/O event readiness for any given file descriptor in patty_ax25_next_event() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
53791bf21d Ahh, that's better 2024-03-01 00:20:46 -05:00
XANTRONIX Development
35f42464c3 I am a derpetologist 2024-03-01 00:20:46 -05:00
XANTRONIX Development
a744fa640c Implement patty_ax25_next_event() like I'm not a dumbass or some shit 2024-03-01 00:20:46 -05:00
XANTRONIX Development
13cfe03cbe Walt, we need to talk 2024-03-01 00:20:46 -05:00
XANTRONIX Development
ff76e77336 Stub out patty_ax25_next_event() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
71d43b5f11 Nearing the point of implementing an event loop 2024-03-01 00:20:46 -05:00
XANTRONIX Development
04cd913840 Good stuff 2024-03-01 00:20:46 -05:00
XANTRONIX Development
3848388886 That's slightly more valid 2024-03-01 00:20:46 -05:00
XANTRONIX Development
6adb4f098b I think that's much nicer 2024-03-01 00:20:46 -05:00
XANTRONIX Development
e8ddd504d7 More stub action; at least binding to a local port and listening on a local port share enough common functionality to substantiate this 2024-03-01 00:20:46 -05:00
XANTRONIX Development
c4727bafb9 Ah, nice 2024-03-01 00:20:46 -05:00
XANTRONIX Development
57e0a2c077 Kinda sorta stub out patty_ax25_connect() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
0f639cc350 Refactor around the simplified concept of patty_ax25_sock 2024-03-01 00:20:46 -05:00
XANTRONIX Development
1abc0b6c98 Implement patty_ax25_listen() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
c17abcf77a Implement patty_ax25_socket() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
87ec27dd92 Implement patty_ax25_open() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
e85df9e29e Well, it does compile 2024-03-01 00:20:46 -05:00
XANTRONIX Development
b0c014f6c1 It helps if things compile 2024-03-01 00:20:46 -05:00
XANTRONIX Development
8bb8026851 That's an interface! 2024-03-01 00:20:46 -05:00
XANTRONIX Development
1ce32f18e3 This may in fact stick 2024-03-01 00:20:46 -05:00
XANTRONIX Development
7fc4bf7e9d Having second thoughts about the old pointer approach; fds might actually make more sense on bare metal, too 2024-03-01 00:20:46 -05:00
XANTRONIX Development
5ef6002854 wip 2015-07-23 02:53:50 +00:00
XANTRONIX Development
9039f8e66d I'm totally missing something here 2015-07-21 23:01:49 -05:00
XANTRONIX Development
1bef463d8b Incremental... 2015-07-21 21:49:53 +00:00
XANTRONIX Development
86f5dd44b9 That's better 2015-07-21 01:01:41 -05:00
XANTRONIX Development
f4e290229b Doing stuff? 2015-07-20 23:30:44 -05:00
XANTRONIX Development
86b099bd58 Hmm! Getting somewhere maybe 2015-07-20 23:21:45 -05:00
XANTRONIX Development
bca3daeeb4 Start stubbing out patty/ax25.h 2015-07-20 22:33:59 -05:00
XANTRONIX Development
e5ee036423 This works out better 2015-07-18 12:15:59 -05:00
XANTRONIX Development
5fe656762f At least now, we can discern between commands and responses 2015-07-18 02:41:42 -05:00
XANTRONIX Development
aa294b2710 Refactors with the lightest touch 💅 2015-07-18 02:22:25 -05:00
XANTRONIX Development
447a266432 A spoonful of unions make the weird specs go down 2015-07-18 02:17:35 -05:00
XANTRONIX Development
712b7fbdad A bit more accurate, methinks 2015-07-17 20:21:00 -05:00
XANTRONIX Development
a3c46b5de6 Don't need that, either! 2015-07-17 20:15:35 -05:00