Skip to content

Releases: mk6i/retro-aim-server

v0.12.0

26 Sep 01:49
Compare
Choose a tag to compare

What's new?

screenshot of AIM interests keywords menu

  • Make your account searchable in the AIM directory by setting your contact info and interest keywords in the profile editor. Be sure to read the setup instructions for configuring search keywords for your users to select.

Changelog

  • c9edc69 fix internal server error on macos client
  • fac5e74 add powershell examples to additionals setup doc
  • c4e0ac6 implement SNAC(0x02,0x0C) - LocateGetDirReply
  • cef0bfd revert OSCAR_HOST
  • bd125a5 refactor InfoQuery
  • 2b88cb4 fix doc typo
  • 4126914 update to goreleaser v2.3.2 (incl go 1.23.1)
  • c5bdd2c document keyword setup
  • f2d4949 fix ODir bugs
  • 92c37bc implement ODir food group / user directory search
  • 7425ba0 upgrade sqlite dependency
  • 4e13afa upgrade sqlite dependency

v0.11.0

05 Sep 02:03
Compare
Choose a tag to compare

What's new?

  • Issue #56 - Chat rooms now work in AIM 4.0.9 for macOS 8/9.
  • Issue #42 - New endpoints for retrieving user status, away message, buddy icon, etc.
  • New management API endpoints for retrieving user status, away message, buddy icon, etc.
  • Various improvements to the user experience of building, configuring and running the application.

Changelog

  • 44c696d documentation update
  • 279504a replace native sqlite driver with pure go driver
  • bb42dce load env file at application startup
  • ed705e7 fix chat room crash in aim 2.0
  • 5cc3a60 support user search and icq2000->icq2001 user auth
  • ebe48cf Merge pull request #63 from jgknight/mgmt-api-version-endpoint
  • a85a4b3 Merge pull request #62 from jgknight/mgmt-api-bugfix-content-type
  • 79b20ab Add /version endpoint and --version cli flag
  • 699075e Bug fix for non-gif buddy icons
  • 2e0cf41 Merge pull request #61 from jgknight/mgmt-api-user-details
  • 79d73de Update mgmt api and buddy unit tests
  • d369eb4 Mgmt api improvements
  • dece73f use a proper display screen name in RegisterBOSSession test
  • 94af959 fix regression in admin service
  • fac3fb8 upgrade mocks
  • 2c9cf04 correct ICQ struct prefix
  • bbe48be fix buddy departure events in macos aim v4.0.0
  • 574b262 issue #56 - fix chat rooms in macOS AIM 4.0.9

v0.10.0

19 Aug 03:11
Compare
Choose a tag to compare

What's new?

  • Issue #13 - Retro AIM Server now supports ICQ 2000b! Most core features are supported, including messaging, presence, offline messages, user profiles, and user directory search. Get started today.
  • Issue #55 - Fixed a regression that caused AIM 4.xx for macOS 8/9 to hang during the login sequence..

Community Updates

  • @ukozi created and open sourced RASman, a SwiftUI-based macOS app for managing the RAS backend.

Changelog

  • b0c943a documentation tweaks
  • 992caa6 implement SNAC(15,02)/07D0/04BA - short user info
  • 784cdac release drafts by default
  • f967e85 issue #60 - make service request return bos cookie
  • 9b3d49e implement ICQ offline messages
  • 02dd53c fix instances where isICQ is not set/read
  • 7b4138e determine UIN by checking numeric screen names
  • 3d26ddb issue #13 - support icq 2000b
  • 353888e validate screen name when logging in with auth disabled
  • 14f7ca1 small password validation refactor
  • 4173088 update password validation rules based on jgknight feedback
  • a5f9920 implement screen name/password validation
  • 4a7151f add user handle/password validation
  • f77e293 set status bitmask on session from SetUserInfoFields
  • 71984cf append user info flag TLV to buddy departure events
  • 83319d3 fix go vet error
  • 835c383 stop reading/writing null byte for empty strings
  • f5202c9 integrate ICQ into session mangagement
  • 58f68d7 return correct auth error codes for icq/aim
  • fa33cdf wire: handle marshalling null-terminated strings
  • 899663f supply full user info in ICBMChannelMsgToClient
  • 99d72d1 issue #55 - stub PermitDeny subgroup handlers

v0.9.0

15 Jul 03:23
Compare
Choose a tag to compare

What's new?

  • Screen name formatting can be changed within the AIM client.
  • Connecting to chat rooms works in Pidgin.
  • Users can set their email address, confirm their account, and store privacy preferences. Note: privacy preferences do not take effect yet. (#50)
  • All required struct marshaling features for handling ICQ protocol messages have been implemented. ICQ support will begin in the next release.

Note for Windows Users

Windows Defender has recently started to flag and delete the RAS executable upon running. You will need to add an exception to Windows Defender in order to run RAS.

Changelog

  • 20fc3e5 fix typo in migration rollback
  • 3a3bc85 issue #48 - fix chat in pidgin client
  • 966f115 wire: add little-endian struct marshalling
  • 723e8cc optional struct tag for SNAC(0x01,0x10) evil notif
  • ef3b784 wire: add optional struct tag
  • 495f33e use len_prefix for FLAP frame buffer
  • f5edf66 Merge pull request #50 from jgknight/additional-admin-functions
  • acc373a Update unit tests for additional admin changes
  • 27e1983 Additional admin functions
  • 91a5d3b fix go vet error
  • c38ae1a wire: add struct length prefix struct tag
  • 5241751 remove TestAuthService_RegisterBOSSession_SessionNotFound
  • f07c787 fix buggy revert migration
  • a6b3794 mgmt api: add user ID to repsonse body
  • 107c6d3 Merge pull request #47 from jgknight/fix-missing-chatroom-disconnect
  • 23cbee7 Update ChatNav unit tests
  • 21a4ca2 Add chatroom example API calls to readme
  • 6ff7bbe Send ChatNavError SNAC for common chatroom errors
  • ca2b8e5 Merge pull request #46 from jgknight/admin-send-oservice-userinfo
  • b20e60a Send OServiceUserInfoUpdate when formatting screenname
  • 840ca35 Merge pull request #45 from jgknight/admin-service-formatsn
  • b7280a4 Add admin service unit tests
  • ca64417 Add admin service and screenname formatting

v0.8.0

29 Jun 03:01
Compare
Choose a tag to compare

What's new?

  • The server has a concept of a public and private chat exchanges. Operators can create public chat rooms using the management API.
  • Users can join existing chat rooms using AIM URLs. For example: aim:gochat?exchange=4&roomname=my+chat+room.
  • A new management API endpoint for programmatically sending IMs from/to any users.

Changelog

  • b4e8f88 chores
  • 46b3156 issue #44 - add endpoint for sending IM
  • aa3b21f update deps
  • ce63818 impl public chat exchange and persistent rooms
  • 2201e12 remove bart flags check from RetrieveItem.RetrieveItem
  • 92b6d8a Merge pull request #43 from jgknight/fix-evil-screenname-format
  • 23c1d2e Use DisplayScreenName when sending an evil notification
  • b99fada update mock buddy broadcaster
  • 376afae update codecov

v0.7.0

15 Jun 02:46
Compare
Choose a tag to compare

Screen Shot 2024-06-01 at 1 51 34 PM

What's new?

  • Users can create formatted screen names at signup. (The ability to change the format for existing users will be available in the next release.)
  • Fix the INVALID_SNAC gaim error that occurs when loading a buddy icon.
  • Fix crash when warning offline user.
  • Clients use ephemeral tokens to authenticate with BOS and Chat servers. Previously, the static session ID was passed around. This makes session hijack attacks more difficult.

Community Updates

Changelog

  • 79e5f48 encapsulate buddyBroadcaster
  • 51b4d44 encapsulate cookie logic within AuthService
  • e217539 add support for user-defined screen name formatting
  • ca608a1 upgrade github actions
  • 3efdf20 Fix INVALID_SNAC error in gaim when loading icon
  • f95c180 return error SNAC from OService ServiceRequest for unknown SNAC
  • 944cb56 use separate session manager for chat
  • 27c8761 consolidate OServiceService
  • 331b64f converted buddy arrival/departure funcs to methods
  • 77bf07d decouple auth service from bos service
  • 7dc2057 Merge pull request #40 from jgknight/add-evil-offline-unittest
  • fe8db5c Add unit tests for warning offline user
  • d03adfc Merge pull request #39 from jgknight/jgknight/fix-38-warn-crash
  • bf2613f Fix crash when warning offline user

v0.6.0

01 Jun 14:35
Compare
Choose a tag to compare

Screen Shot 2024-06-01 at 1 51 34 PM

What's new?

  • Chat is supported in AIM v2.0-v3.5.
  • The perl library Net::OSCAR now works.
  • User idle time is correctly calculated.
  • Management API hostname and port are configurable.
  • Users can be deleted via the management API.
  • All the types needed to create an OSCAR client are exported in the wire package.

Community Updates

Changelog

v0.5.0

19 May 02:25
Compare
Choose a tag to compare

What's new?

  • Support for additional clients
    • AIM 2.0.1 & 4.0.9 for macOS 8.1
    • Pidgin 2.12.0
  • Corrected Management API documentation for Windows clients
  • It's now less confusing for users to know which executable in the release directory to run
  • Fixes that bring RAS closer to chat support for Windows AIM 2.x and 3.x

Shoutouts

  • @jgknight for helpful input, including suggestion to create Discord server.
  • @siohaza for improving issue reporting process and helping with Pidgin client fixes.
  • @ukozi for assisting with Basilisk II emulator setup and testing macOS client fixes.
  • @clabland for featuring RAS in his excellent Youtube video Homelab Dial-Up. 🎉

Changelog

  • c716ac3 resolve confusion over which executable to run
  • 9a120cd log hostname at application startup
  • fef7f0d fix admin api request docs for Windows PowerShell
  • d56443d feat: create template for feature requests (#22)
  • b162041 replace config.Address with net.JoinHostPort
  • a075fb5 clear up OService user flag and status constants
  • 11f5fd2 issue #14 - implement SNAC 09,03 PD RightsQuery
  • 53ee65e remove redundant key in request log entry
  • 2aca469 implement SNAC 01,1E SetUserInfoFields
  • 34e7946 fix: pidgin connectivity issue
  • 2becefe feat: add bug report template (#15)
  • bd906cd fix "too many open rooms" error in winaim 2.x-3.x
  • 4a847c9 issue #10 - add missing rate limit entries
  • 925d4de Update README.md
  • 278e4d1 Update README.md
  • 7ad9510 update docs

v0.4.0

04 May 14:18
Compare
Choose a tag to compare

What's new?

  • AIM v2.x and v3.x are now supported!
  • AIM v4.8 no longer displays an error about connecting to the Alert service.

Caveats

  • The BUCP_PORT environment variable is renamed to AUTH_PORT.
  • AIM v2.x-v4.1 store buddy lists client-side, whereas newer versions store buddy lists server-side. As a result, changes made to client-side buddy lists are not reflected in server-side buddy lists, and vice-versa. For example, a buddy added in AIM v3.0 will not show up in AIM v5.0.
  • v2.x and v3.x clients are unable to join chat rooms.
  • There is a buddy icon interoperability issue between AIM v3.x and later versions. For instance, a v3.0 client's buddy icon may not appear in a conversation with a v5.0 client, and vice-versa.
  • AIM v1.0 is able to connect and send IMs, but some core features, such as away messages, do not currently work.

Changelog

  • 7b6e026 update feature set doc
  • 12b889f implement FLAP authentication for AIM v1.x-v3.0
  • c5e6815 set up server for ALERT food group

v0.3.0

29 Apr 04:02
Compare
Choose a tag to compare

This release expands AIM client support to versions 3.5 and 4.x.

⚠️ If you have an existing oscar.sqlite database file created with either version v0.1.0 or v0.2.0, all user passwords need to be reset in order to login with client versions 3.5 and 4.x. These passwords can be reset with the PUT /user/password endpoint.

Changelog

  • 041c527 use sqlite3 driver for migrations
  • 9d11c84 doc updates
  • 7a93404 ignore dup user err upon login w/ DisableAuth=true
  • e578066 implement PUT /user/password
  • 664e09f support md5 password hash for AIM 3.5-4.7
  • 91c753a set up DB migrations for feedbag store
  • 16d41d3 add missing LegacyBuddyListManager dependency
  • ec11bf3 support client-side buddy lists for AIM 4.1
  • cc82a27 move buddy list population from OService.ClientOnline to Feedbag.Use
  • 93b2b81 fix misc typos
  • e3aa022 implement chat room creation in AIM 4.x