slidge-whatsapp 0.3.1__cp312-cp312-manylinux_2_36_aarch64.whl → 0.3.4__cp312-cp312-manylinux_2_36_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of slidge-whatsapp might be problematic. Click here for more details.
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.h +172 -172
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +138 -138
- slidge_whatsapp/generated/go.py +1 -1
- slidge_whatsapp/generated/whatsapp.c +1479 -1479
- slidge_whatsapp/generated/whatsapp.go +987 -987
- slidge_whatsapp/generated/whatsapp.py +1187 -1187
- slidge_whatsapp/generated/whatsapp_go.h +172 -172
- slidge_whatsapp/go.mod +9 -9
- slidge_whatsapp/go.sum +18 -18
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +7 -2
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/module.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +48 -7
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +13 -0
- slidge_whatsapp/vendor/go.mau.fi/util/jsontime/helpers.go +16 -5
- slidge_whatsapp/vendor/go.mau.fi/util/jsontime/integer.go +27 -12
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +39 -28
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +17 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +18 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +40 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +24 -21
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +21 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +3213 -2851
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +108 -74
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +7 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +7 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +35 -23
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +5 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +47 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +4 -10
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +28 -42
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +33 -32
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +5 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sessioncache.go +125 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +34 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +24 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +12 -1
- slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +7 -4
- slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +11 -6
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_go125.go +15 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_go126.go +15 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +24 -1
- slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +0 -1
- slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +35 -26
- slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +4 -2
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +2 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/{writesched_priority.go → writesched_priority_rfc7540.go} +52 -52
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority_rfc9128.go +209 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +1 -1
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +2 -2
- slidge_whatsapp/vendor/golang.org/x/net/internal/socks/socks.go +1 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +9 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/fdset.go +1 -3
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ifreq_linux.go +1 -3
- slidge_whatsapp/vendor/golang.org/x/sys/unix/mkall.sh +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +1 -3
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd.go +17 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +2 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +18 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +2 -9
- slidge_whatsapp/vendor/modules.txt +10 -10
- {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/METADATA +1 -1
- {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/RECORD +74 -70
- {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/WHEEL +0 -0
- {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/entry_points.txt +0 -0
- {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -351,6 +351,127 @@ extern long long int Slice_whatsapp_Receipt_subslice(long long int handle, GoInt
|
|
|
351
351
|
extern void Slice_whatsapp_Receipt_set(long long int handle, GoInt _idx, long long int _vl);
|
|
352
352
|
extern void Slice_whatsapp_Receipt_append(long long int handle, long long int _vl);
|
|
353
353
|
|
|
354
|
+
// --- wrapping struct: whatsapp.Album ---
|
|
355
|
+
//
|
|
356
|
+
extern long long int whatsapp_Album_CTor();
|
|
357
|
+
extern char whatsapp_Album_IsAlbum_Get(long long int handle);
|
|
358
|
+
extern void whatsapp_Album_IsAlbum_Set(long long int handle, char val);
|
|
359
|
+
extern long long int whatsapp_Album_ImageCount_Get(long long int handle);
|
|
360
|
+
extern void whatsapp_Album_ImageCount_Set(long long int handle, long long int val);
|
|
361
|
+
extern long long int whatsapp_Album_VideoCount_Get(long long int handle);
|
|
362
|
+
extern void whatsapp_Album_VideoCount_Set(long long int handle, long long int val);
|
|
363
|
+
|
|
364
|
+
// --- wrapping struct: whatsapp.Call ---
|
|
365
|
+
//
|
|
366
|
+
extern long long int whatsapp_Call_CTor();
|
|
367
|
+
extern long long int whatsapp_Call_State_Get(long long int handle);
|
|
368
|
+
extern void whatsapp_Call_State_Set(long long int handle, long long int val);
|
|
369
|
+
extern char* whatsapp_Call_JID_Get(long long int handle);
|
|
370
|
+
extern void whatsapp_Call_JID_Set(long long int handle, char* val);
|
|
371
|
+
extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
|
|
372
|
+
extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
|
|
373
|
+
|
|
374
|
+
// --- wrapping struct: whatsapp.Group ---
|
|
375
|
+
//
|
|
376
|
+
extern long long int whatsapp_Group_CTor();
|
|
377
|
+
extern char* whatsapp_Group_JID_Get(long long int handle);
|
|
378
|
+
extern void whatsapp_Group_JID_Set(long long int handle, char* val);
|
|
379
|
+
extern char* whatsapp_Group_Name_Get(long long int handle);
|
|
380
|
+
extern void whatsapp_Group_Name_Set(long long int handle, char* val);
|
|
381
|
+
extern long long int whatsapp_Group_Subject_Get(long long int handle);
|
|
382
|
+
extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
|
|
383
|
+
extern char* whatsapp_Group_Nickname_Get(long long int handle);
|
|
384
|
+
extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
|
|
385
|
+
extern long long int whatsapp_Group_Participants_Get(long long int handle);
|
|
386
|
+
extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
|
|
387
|
+
extern char* whatsapp_Group_InviteCode_Get(long long int handle);
|
|
388
|
+
extern void whatsapp_Group_InviteCode_Set(long long int handle, char* val);
|
|
389
|
+
|
|
390
|
+
// --- wrapping struct: whatsapp.LinkedDevice ---
|
|
391
|
+
//
|
|
392
|
+
extern long long int whatsapp_LinkedDevice_CTor();
|
|
393
|
+
extern char* whatsapp_LinkedDevice_ID_Get(long long int handle);
|
|
394
|
+
extern void whatsapp_LinkedDevice_ID_Set(long long int handle, char* val);
|
|
395
|
+
extern long long int whatsapp_LinkedDevice_JID(long long int _handle);
|
|
396
|
+
|
|
397
|
+
// --- wrapping struct: whatsapp.Presence ---
|
|
398
|
+
//
|
|
399
|
+
extern long long int whatsapp_Presence_CTor();
|
|
400
|
+
extern char* whatsapp_Presence_JID_Get(long long int handle);
|
|
401
|
+
extern void whatsapp_Presence_JID_Set(long long int handle, char* val);
|
|
402
|
+
extern long long int whatsapp_Presence_Kind_Get(long long int handle);
|
|
403
|
+
extern void whatsapp_Presence_Kind_Set(long long int handle, long long int val);
|
|
404
|
+
extern long long int whatsapp_Presence_LastSeen_Get(long long int handle);
|
|
405
|
+
extern void whatsapp_Presence_LastSeen_Set(long long int handle, long long int val);
|
|
406
|
+
|
|
407
|
+
// --- wrapping struct: whatsapp.Preview ---
|
|
408
|
+
//
|
|
409
|
+
extern long long int whatsapp_Preview_CTor();
|
|
410
|
+
extern long long int whatsapp_Preview_Kind_Get(long long int handle);
|
|
411
|
+
extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
|
|
412
|
+
extern char* whatsapp_Preview_URL_Get(long long int handle);
|
|
413
|
+
extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
|
|
414
|
+
extern char* whatsapp_Preview_Title_Get(long long int handle);
|
|
415
|
+
extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
|
|
416
|
+
extern char* whatsapp_Preview_Description_Get(long long int handle);
|
|
417
|
+
extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
|
|
418
|
+
extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
|
|
419
|
+
extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
|
|
420
|
+
|
|
421
|
+
// --- wrapping struct: whatsapp.Location ---
|
|
422
|
+
//
|
|
423
|
+
extern long long int whatsapp_Location_CTor();
|
|
424
|
+
extern double whatsapp_Location_Latitude_Get(long long int handle);
|
|
425
|
+
extern void whatsapp_Location_Latitude_Set(long long int handle, double val);
|
|
426
|
+
extern double whatsapp_Location_Longitude_Get(long long int handle);
|
|
427
|
+
extern void whatsapp_Location_Longitude_Set(long long int handle, double val);
|
|
428
|
+
extern long long int whatsapp_Location_Accuracy_Get(long long int handle);
|
|
429
|
+
extern void whatsapp_Location_Accuracy_Set(long long int handle, long long int val);
|
|
430
|
+
extern char whatsapp_Location_IsLive_Get(long long int handle);
|
|
431
|
+
extern void whatsapp_Location_IsLive_Set(long long int handle, char val);
|
|
432
|
+
extern char* whatsapp_Location_Name_Get(long long int handle);
|
|
433
|
+
extern void whatsapp_Location_Name_Set(long long int handle, char* val);
|
|
434
|
+
extern char* whatsapp_Location_Address_Get(long long int handle);
|
|
435
|
+
extern void whatsapp_Location_Address_Set(long long int handle, char* val);
|
|
436
|
+
extern char* whatsapp_Location_URL_Get(long long int handle);
|
|
437
|
+
extern void whatsapp_Location_URL_Set(long long int handle, char* val);
|
|
438
|
+
|
|
439
|
+
// --- wrapping struct: whatsapp.ChatState ---
|
|
440
|
+
//
|
|
441
|
+
extern long long int whatsapp_ChatState_CTor();
|
|
442
|
+
extern long long int whatsapp_ChatState_Kind_Get(long long int handle);
|
|
443
|
+
extern void whatsapp_ChatState_Kind_Set(long long int handle, long long int val);
|
|
444
|
+
extern char* whatsapp_ChatState_JID_Get(long long int handle);
|
|
445
|
+
extern void whatsapp_ChatState_JID_Set(long long int handle, char* val);
|
|
446
|
+
extern char* whatsapp_ChatState_GroupJID_Get(long long int handle);
|
|
447
|
+
extern void whatsapp_ChatState_GroupJID_Set(long long int handle, char* val);
|
|
448
|
+
|
|
449
|
+
// --- wrapping struct: whatsapp.EventPayload ---
|
|
450
|
+
//
|
|
451
|
+
extern long long int whatsapp_EventPayload_CTor();
|
|
452
|
+
extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
|
|
453
|
+
extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
|
|
454
|
+
extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
|
|
455
|
+
extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
|
|
456
|
+
extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
|
|
457
|
+
extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
|
|
458
|
+
extern long long int whatsapp_EventPayload_LoggedOut_Get(long long int handle);
|
|
459
|
+
extern void whatsapp_EventPayload_LoggedOut_Set(long long int handle, long long int val);
|
|
460
|
+
extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
|
|
461
|
+
extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
|
|
462
|
+
extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
|
|
463
|
+
extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
|
|
464
|
+
extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
|
|
465
|
+
extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
|
|
466
|
+
extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
|
|
467
|
+
extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
|
|
468
|
+
extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
|
|
469
|
+
extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
|
|
470
|
+
extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
|
|
471
|
+
extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
|
|
472
|
+
extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
|
|
473
|
+
extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
|
|
474
|
+
|
|
354
475
|
// --- wrapping struct: whatsapp.Gateway ---
|
|
355
476
|
//
|
|
356
477
|
extern long long int whatsapp_Gateway_CTor();
|
|
@@ -418,25 +539,40 @@ extern void whatsapp_Message_Reactions_Set(long long int handle, long long int v
|
|
|
418
539
|
extern char whatsapp_Message_IsHistory_Get(long long int handle);
|
|
419
540
|
extern void whatsapp_Message_IsHistory_Set(long long int handle, char val);
|
|
420
541
|
|
|
421
|
-
// --- wrapping struct: whatsapp.
|
|
542
|
+
// --- wrapping struct: whatsapp.PollOption ---
|
|
422
543
|
//
|
|
423
|
-
extern long long int
|
|
424
|
-
extern char*
|
|
425
|
-
extern void
|
|
426
|
-
extern long long int whatsapp_Presence_Kind_Get(long long int handle);
|
|
427
|
-
extern void whatsapp_Presence_Kind_Set(long long int handle, long long int val);
|
|
428
|
-
extern long long int whatsapp_Presence_LastSeen_Get(long long int handle);
|
|
429
|
-
extern void whatsapp_Presence_LastSeen_Set(long long int handle, long long int val);
|
|
544
|
+
extern long long int whatsapp_PollOption_CTor();
|
|
545
|
+
extern char* whatsapp_PollOption_Title_Get(long long int handle);
|
|
546
|
+
extern void whatsapp_PollOption_Title_Set(long long int handle, char* val);
|
|
430
547
|
|
|
431
|
-
// --- wrapping struct: whatsapp.
|
|
548
|
+
// --- wrapping struct: whatsapp.Receipt ---
|
|
432
549
|
//
|
|
433
|
-
extern long long int
|
|
434
|
-
extern long long int
|
|
435
|
-
extern void
|
|
436
|
-
extern
|
|
437
|
-
extern void
|
|
438
|
-
extern char*
|
|
439
|
-
extern void
|
|
550
|
+
extern long long int whatsapp_Receipt_CTor();
|
|
551
|
+
extern long long int whatsapp_Receipt_Kind_Get(long long int handle);
|
|
552
|
+
extern void whatsapp_Receipt_Kind_Set(long long int handle, long long int val);
|
|
553
|
+
extern long long int whatsapp_Receipt_MessageIDs_Get(long long int handle);
|
|
554
|
+
extern void whatsapp_Receipt_MessageIDs_Set(long long int handle, long long int val);
|
|
555
|
+
extern char* whatsapp_Receipt_JID_Get(long long int handle);
|
|
556
|
+
extern void whatsapp_Receipt_JID_Set(long long int handle, char* val);
|
|
557
|
+
extern char* whatsapp_Receipt_GroupJID_Get(long long int handle);
|
|
558
|
+
extern void whatsapp_Receipt_GroupJID_Set(long long int handle, char* val);
|
|
559
|
+
extern long long int whatsapp_Receipt_Timestamp_Get(long long int handle);
|
|
560
|
+
extern void whatsapp_Receipt_Timestamp_Set(long long int handle, long long int val);
|
|
561
|
+
extern char whatsapp_Receipt_IsCarbon_Get(long long int handle);
|
|
562
|
+
extern void whatsapp_Receipt_IsCarbon_Set(long long int handle, char val);
|
|
563
|
+
|
|
564
|
+
// --- wrapping struct: whatsapp.Attachment ---
|
|
565
|
+
//
|
|
566
|
+
extern long long int whatsapp_Attachment_CTor();
|
|
567
|
+
extern char* whatsapp_Attachment_MIME_Get(long long int handle);
|
|
568
|
+
extern void whatsapp_Attachment_MIME_Set(long long int handle, char* val);
|
|
569
|
+
extern char* whatsapp_Attachment_Filename_Get(long long int handle);
|
|
570
|
+
extern void whatsapp_Attachment_Filename_Set(long long int handle, char* val);
|
|
571
|
+
extern char* whatsapp_Attachment_Caption_Get(long long int handle);
|
|
572
|
+
extern void whatsapp_Attachment_Caption_Set(long long int handle, char* val);
|
|
573
|
+
extern long long int whatsapp_Attachment_Data_Get(long long int handle);
|
|
574
|
+
extern void whatsapp_Attachment_Data_Set(long long int handle, long long int val);
|
|
575
|
+
extern long long int whatsapp_Attachment_GetSpec(long long int _handle, long long int ctx);
|
|
440
576
|
|
|
441
577
|
// --- wrapping struct: whatsapp.Avatar ---
|
|
442
578
|
//
|
|
@@ -446,42 +582,21 @@ extern void whatsapp_Avatar_ID_Set(long long int handle, char* val);
|
|
|
446
582
|
extern char* whatsapp_Avatar_URL_Get(long long int handle);
|
|
447
583
|
extern void whatsapp_Avatar_URL_Set(long long int handle, char* val);
|
|
448
584
|
|
|
449
|
-
// --- wrapping struct: whatsapp.
|
|
450
|
-
//
|
|
451
|
-
extern long long int whatsapp_Call_CTor();
|
|
452
|
-
extern long long int whatsapp_Call_State_Get(long long int handle);
|
|
453
|
-
extern void whatsapp_Call_State_Set(long long int handle, long long int val);
|
|
454
|
-
extern char* whatsapp_Call_JID_Get(long long int handle);
|
|
455
|
-
extern void whatsapp_Call_JID_Set(long long int handle, char* val);
|
|
456
|
-
extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
|
|
457
|
-
extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
|
|
458
|
-
|
|
459
|
-
// --- wrapping struct: whatsapp.GroupSubject ---
|
|
460
|
-
//
|
|
461
|
-
extern long long int whatsapp_GroupSubject_CTor();
|
|
462
|
-
extern char* whatsapp_GroupSubject_Subject_Get(long long int handle);
|
|
463
|
-
extern void whatsapp_GroupSubject_Subject_Set(long long int handle, char* val);
|
|
464
|
-
extern long long int whatsapp_GroupSubject_SetAt_Get(long long int handle);
|
|
465
|
-
extern void whatsapp_GroupSubject_SetAt_Set(long long int handle, long long int val);
|
|
466
|
-
extern char* whatsapp_GroupSubject_SetBy_Get(long long int handle);
|
|
467
|
-
extern void whatsapp_GroupSubject_SetBy_Set(long long int handle, char* val);
|
|
468
|
-
|
|
469
|
-
// --- wrapping struct: whatsapp.LinkedDevice ---
|
|
585
|
+
// --- wrapping struct: whatsapp.Connect ---
|
|
470
586
|
//
|
|
471
|
-
extern long long int
|
|
472
|
-
extern char*
|
|
473
|
-
extern void
|
|
474
|
-
extern
|
|
587
|
+
extern long long int whatsapp_Connect_CTor();
|
|
588
|
+
extern char* whatsapp_Connect_JID_Get(long long int handle);
|
|
589
|
+
extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
|
|
590
|
+
extern char* whatsapp_Connect_Error_Get(long long int handle);
|
|
591
|
+
extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
|
|
475
592
|
|
|
476
|
-
// --- wrapping struct: whatsapp.
|
|
593
|
+
// --- wrapping struct: whatsapp.Contact ---
|
|
477
594
|
//
|
|
478
|
-
extern long long int
|
|
479
|
-
extern char
|
|
480
|
-
extern void
|
|
481
|
-
extern
|
|
482
|
-
extern void
|
|
483
|
-
extern long long int whatsapp_Album_VideoCount_Get(long long int handle);
|
|
484
|
-
extern void whatsapp_Album_VideoCount_Set(long long int handle, long long int val);
|
|
595
|
+
extern long long int whatsapp_Contact_CTor();
|
|
596
|
+
extern char* whatsapp_Contact_JID_Get(long long int handle);
|
|
597
|
+
extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
|
|
598
|
+
extern char* whatsapp_Contact_Name_Get(long long int handle);
|
|
599
|
+
extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
|
|
485
600
|
|
|
486
601
|
// --- wrapping struct: whatsapp.GroupParticipant ---
|
|
487
602
|
//
|
|
@@ -495,23 +610,15 @@ extern void whatsapp_GroupParticipant_Affiliation_Set(long long int handle, long
|
|
|
495
610
|
extern long long int whatsapp_GroupParticipant_Action_Get(long long int handle);
|
|
496
611
|
extern void whatsapp_GroupParticipant_Action_Set(long long int handle, long long int val);
|
|
497
612
|
|
|
498
|
-
// --- wrapping struct: whatsapp.
|
|
613
|
+
// --- wrapping struct: whatsapp.GroupSubject ---
|
|
499
614
|
//
|
|
500
|
-
extern long long int
|
|
501
|
-
extern
|
|
502
|
-
extern void
|
|
503
|
-
extern
|
|
504
|
-
extern void
|
|
505
|
-
extern
|
|
506
|
-
extern void
|
|
507
|
-
extern char whatsapp_Location_IsLive_Get(long long int handle);
|
|
508
|
-
extern void whatsapp_Location_IsLive_Set(long long int handle, char val);
|
|
509
|
-
extern char* whatsapp_Location_Name_Get(long long int handle);
|
|
510
|
-
extern void whatsapp_Location_Name_Set(long long int handle, char* val);
|
|
511
|
-
extern char* whatsapp_Location_Address_Get(long long int handle);
|
|
512
|
-
extern void whatsapp_Location_Address_Set(long long int handle, char* val);
|
|
513
|
-
extern char* whatsapp_Location_URL_Get(long long int handle);
|
|
514
|
-
extern void whatsapp_Location_URL_Set(long long int handle, char* val);
|
|
615
|
+
extern long long int whatsapp_GroupSubject_CTor();
|
|
616
|
+
extern char* whatsapp_GroupSubject_Subject_Get(long long int handle);
|
|
617
|
+
extern void whatsapp_GroupSubject_Subject_Set(long long int handle, char* val);
|
|
618
|
+
extern long long int whatsapp_GroupSubject_SetAt_Get(long long int handle);
|
|
619
|
+
extern void whatsapp_GroupSubject_SetAt_Set(long long int handle, long long int val);
|
|
620
|
+
extern char* whatsapp_GroupSubject_SetBy_Get(long long int handle);
|
|
621
|
+
extern void whatsapp_GroupSubject_SetBy_Set(long long int handle, char* val);
|
|
515
622
|
|
|
516
623
|
// --- wrapping struct: whatsapp.Poll ---
|
|
517
624
|
//
|
|
@@ -521,100 +628,6 @@ extern void whatsapp_Poll_Title_Set(long long int handle, char* val);
|
|
|
521
628
|
extern long long int whatsapp_Poll_Options_Get(long long int handle);
|
|
522
629
|
extern void whatsapp_Poll_Options_Set(long long int handle, long long int val);
|
|
523
630
|
|
|
524
|
-
// --- wrapping struct: whatsapp.PollOption ---
|
|
525
|
-
//
|
|
526
|
-
extern long long int whatsapp_PollOption_CTor();
|
|
527
|
-
extern char* whatsapp_PollOption_Title_Get(long long int handle);
|
|
528
|
-
extern void whatsapp_PollOption_Title_Set(long long int handle, char* val);
|
|
529
|
-
|
|
530
|
-
// --- wrapping struct: whatsapp.Preview ---
|
|
531
|
-
//
|
|
532
|
-
extern long long int whatsapp_Preview_CTor();
|
|
533
|
-
extern long long int whatsapp_Preview_Kind_Get(long long int handle);
|
|
534
|
-
extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
|
|
535
|
-
extern char* whatsapp_Preview_URL_Get(long long int handle);
|
|
536
|
-
extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
|
|
537
|
-
extern char* whatsapp_Preview_Title_Get(long long int handle);
|
|
538
|
-
extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
|
|
539
|
-
extern char* whatsapp_Preview_Description_Get(long long int handle);
|
|
540
|
-
extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
|
|
541
|
-
extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
|
|
542
|
-
extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
|
|
543
|
-
|
|
544
|
-
// --- wrapping struct: whatsapp.Connect ---
|
|
545
|
-
//
|
|
546
|
-
extern long long int whatsapp_Connect_CTor();
|
|
547
|
-
extern char* whatsapp_Connect_JID_Get(long long int handle);
|
|
548
|
-
extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
|
|
549
|
-
extern char* whatsapp_Connect_Error_Get(long long int handle);
|
|
550
|
-
extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
|
|
551
|
-
|
|
552
|
-
// --- wrapping struct: whatsapp.Contact ---
|
|
553
|
-
//
|
|
554
|
-
extern long long int whatsapp_Contact_CTor();
|
|
555
|
-
extern char* whatsapp_Contact_JID_Get(long long int handle);
|
|
556
|
-
extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
|
|
557
|
-
extern char* whatsapp_Contact_Name_Get(long long int handle);
|
|
558
|
-
extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
|
|
559
|
-
|
|
560
|
-
// --- wrapping struct: whatsapp.EventPayload ---
|
|
561
|
-
//
|
|
562
|
-
extern long long int whatsapp_EventPayload_CTor();
|
|
563
|
-
extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
|
|
564
|
-
extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
|
|
565
|
-
extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
|
|
566
|
-
extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
|
|
567
|
-
extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
|
|
568
|
-
extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
|
|
569
|
-
extern long long int whatsapp_EventPayload_LoggedOut_Get(long long int handle);
|
|
570
|
-
extern void whatsapp_EventPayload_LoggedOut_Set(long long int handle, long long int val);
|
|
571
|
-
extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
|
|
572
|
-
extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
|
|
573
|
-
extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
|
|
574
|
-
extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
|
|
575
|
-
extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
|
|
576
|
-
extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
|
|
577
|
-
extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
|
|
578
|
-
extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
|
|
579
|
-
extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
|
|
580
|
-
extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
|
|
581
|
-
extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
|
|
582
|
-
extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
|
|
583
|
-
extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
|
|
584
|
-
extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
|
|
585
|
-
|
|
586
|
-
// --- wrapping struct: whatsapp.Group ---
|
|
587
|
-
//
|
|
588
|
-
extern long long int whatsapp_Group_CTor();
|
|
589
|
-
extern char* whatsapp_Group_JID_Get(long long int handle);
|
|
590
|
-
extern void whatsapp_Group_JID_Set(long long int handle, char* val);
|
|
591
|
-
extern char* whatsapp_Group_Name_Get(long long int handle);
|
|
592
|
-
extern void whatsapp_Group_Name_Set(long long int handle, char* val);
|
|
593
|
-
extern long long int whatsapp_Group_Subject_Get(long long int handle);
|
|
594
|
-
extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
|
|
595
|
-
extern char* whatsapp_Group_Nickname_Get(long long int handle);
|
|
596
|
-
extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
|
|
597
|
-
extern long long int whatsapp_Group_Participants_Get(long long int handle);
|
|
598
|
-
extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
|
|
599
|
-
extern char* whatsapp_Group_InviteCode_Get(long long int handle);
|
|
600
|
-
extern void whatsapp_Group_InviteCode_Set(long long int handle, char* val);
|
|
601
|
-
|
|
602
|
-
// --- wrapping struct: whatsapp.Receipt ---
|
|
603
|
-
//
|
|
604
|
-
extern long long int whatsapp_Receipt_CTor();
|
|
605
|
-
extern long long int whatsapp_Receipt_Kind_Get(long long int handle);
|
|
606
|
-
extern void whatsapp_Receipt_Kind_Set(long long int handle, long long int val);
|
|
607
|
-
extern long long int whatsapp_Receipt_MessageIDs_Get(long long int handle);
|
|
608
|
-
extern void whatsapp_Receipt_MessageIDs_Set(long long int handle, long long int val);
|
|
609
|
-
extern char* whatsapp_Receipt_JID_Get(long long int handle);
|
|
610
|
-
extern void whatsapp_Receipt_JID_Set(long long int handle, char* val);
|
|
611
|
-
extern char* whatsapp_Receipt_GroupJID_Get(long long int handle);
|
|
612
|
-
extern void whatsapp_Receipt_GroupJID_Set(long long int handle, char* val);
|
|
613
|
-
extern long long int whatsapp_Receipt_Timestamp_Get(long long int handle);
|
|
614
|
-
extern void whatsapp_Receipt_Timestamp_Set(long long int handle, long long int val);
|
|
615
|
-
extern char whatsapp_Receipt_IsCarbon_Get(long long int handle);
|
|
616
|
-
extern void whatsapp_Receipt_IsCarbon_Set(long long int handle, char val);
|
|
617
|
-
|
|
618
631
|
// --- wrapping struct: whatsapp.Session ---
|
|
619
632
|
//
|
|
620
633
|
extern long long int whatsapp_Session_CTor();
|
|
@@ -639,19 +652,6 @@ extern long long int whatsapp_Session_UpdateGroupParticipants(long long int _han
|
|
|
639
652
|
extern long long int whatsapp_Session_FindContact(long long int _handle, char* phone);
|
|
640
653
|
extern char* whatsapp_Session_RequestMessageHistory(long long int _handle, char* resourceID, long long int oldestMessage);
|
|
641
654
|
extern void whatsapp_Session_SetEventHandler(long long int _handle, PyObject* h, char goRun);
|
|
642
|
-
|
|
643
|
-
// --- wrapping struct: whatsapp.Attachment ---
|
|
644
|
-
//
|
|
645
|
-
extern long long int whatsapp_Attachment_CTor();
|
|
646
|
-
extern char* whatsapp_Attachment_MIME_Get(long long int handle);
|
|
647
|
-
extern void whatsapp_Attachment_MIME_Set(long long int handle, char* val);
|
|
648
|
-
extern char* whatsapp_Attachment_Filename_Get(long long int handle);
|
|
649
|
-
extern void whatsapp_Attachment_Filename_Set(long long int handle, char* val);
|
|
650
|
-
extern char* whatsapp_Attachment_Caption_Get(long long int handle);
|
|
651
|
-
extern void whatsapp_Attachment_Caption_Set(long long int handle, char* val);
|
|
652
|
-
extern long long int whatsapp_Attachment_Data_Get(long long int handle);
|
|
653
|
-
extern void whatsapp_Attachment_Data_Set(long long int handle, long long int val);
|
|
654
|
-
extern long long int whatsapp_Attachment_GetSpec(long long int _handle, long long int ctx);
|
|
655
655
|
extern long long int whatsapp_NewGateway();
|
|
656
656
|
extern char whatsapp_IsAnonymousJID(char* id);
|
|
657
657
|
|
slidge_whatsapp/go.mod
CHANGED
|
@@ -9,9 +9,9 @@ require (
|
|
|
9
9
|
github.com/go-python/gopy v0.4.11-0.20241206185020-5f285b890023
|
|
10
10
|
github.com/h2non/filetype v1.1.3
|
|
11
11
|
github.com/mattn/go-sqlite3 v1.14.32
|
|
12
|
-
go.mau.fi/libsignal v0.2.
|
|
13
|
-
go.mau.fi/whatsmeow v0.0.0-
|
|
14
|
-
golang.org/x/image v0.
|
|
12
|
+
go.mau.fi/libsignal v0.2.1
|
|
13
|
+
go.mau.fi/whatsmeow v0.0.0-20251016095441-02c50743e601
|
|
14
|
+
golang.org/x/image v0.32.0
|
|
15
15
|
)
|
|
16
16
|
|
|
17
17
|
require (
|
|
@@ -27,11 +27,11 @@ require (
|
|
|
27
27
|
github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490 // indirect
|
|
28
28
|
github.com/rs/zerolog v1.34.0 // indirect
|
|
29
29
|
github.com/vektah/gqlparser/v2 v2.5.30 // indirect
|
|
30
|
-
go.mau.fi/util v0.9.
|
|
31
|
-
golang.org/x/crypto v0.
|
|
32
|
-
golang.org/x/exp v0.0.0-
|
|
33
|
-
golang.org/x/net v0.
|
|
34
|
-
golang.org/x/sys v0.
|
|
35
|
-
golang.org/x/text v0.
|
|
30
|
+
go.mau.fi/util v0.9.2 // indirect
|
|
31
|
+
golang.org/x/crypto v0.43.0 // indirect
|
|
32
|
+
golang.org/x/exp v0.0.0-20251017212417-90e834f514db // indirect
|
|
33
|
+
golang.org/x/net v0.46.0 // indirect
|
|
34
|
+
golang.org/x/sys v0.37.0 // indirect
|
|
35
|
+
golang.org/x/text v0.30.0 // indirect
|
|
36
36
|
google.golang.org/protobuf v1.36.10 // indirect
|
|
37
37
|
)
|
slidge_whatsapp/go.sum
CHANGED
|
@@ -53,27 +53,27 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu
|
|
|
53
53
|
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
|
54
54
|
github.com/vektah/gqlparser/v2 v2.5.30 h1:EqLwGAFLIzt1wpx1IPpY67DwUujF1OfzgEyDsLrN6kE=
|
|
55
55
|
github.com/vektah/gqlparser/v2 v2.5.30/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo=
|
|
56
|
-
go.mau.fi/libsignal v0.2.
|
|
57
|
-
go.mau.fi/libsignal v0.2.
|
|
58
|
-
go.mau.fi/util v0.9.
|
|
59
|
-
go.mau.fi/util v0.9.
|
|
60
|
-
go.mau.fi/whatsmeow v0.0.0-
|
|
61
|
-
go.mau.fi/whatsmeow v0.0.0-
|
|
62
|
-
golang.org/x/crypto v0.
|
|
63
|
-
golang.org/x/crypto v0.
|
|
64
|
-
golang.org/x/exp v0.0.0-
|
|
65
|
-
golang.org/x/exp v0.0.0-
|
|
66
|
-
golang.org/x/image v0.
|
|
67
|
-
golang.org/x/image v0.
|
|
68
|
-
golang.org/x/net v0.
|
|
69
|
-
golang.org/x/net v0.
|
|
56
|
+
go.mau.fi/libsignal v0.2.1 h1:vRZG4EzTn70XY6Oh/pVKrQGuMHBkAWlGRC22/85m9L0=
|
|
57
|
+
go.mau.fi/libsignal v0.2.1/go.mod h1:iVvjrHyfQqWajOUaMEsIfo3IqgVMrhWcPiiEzk7NgoU=
|
|
58
|
+
go.mau.fi/util v0.9.2 h1:+S4Z03iCsGqU2WY8X2gySFsFjaLlUHFRDVCYvVwynKM=
|
|
59
|
+
go.mau.fi/util v0.9.2/go.mod h1:055elBBCJSdhRsmub7ci9hXZPgGr1U6dYg44cSgRgoU=
|
|
60
|
+
go.mau.fi/whatsmeow v0.0.0-20251016095441-02c50743e601 h1:6tytDOaqizeBVG3OdEojIiJtZXY3DWMvFKNkjbxq4tI=
|
|
61
|
+
go.mau.fi/whatsmeow v0.0.0-20251016095441-02c50743e601/go.mod h1:VJq+D05Fe5EroZxs2StEYD/AsWJO2aQ7Niucz7lCvao=
|
|
62
|
+
golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04=
|
|
63
|
+
golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0=
|
|
64
|
+
golang.org/x/exp v0.0.0-20251017212417-90e834f514db h1:by6IehL4BH5k3e3SJmcoNbOobMey2SLpAF79iPOEBvw=
|
|
65
|
+
golang.org/x/exp v0.0.0-20251017212417-90e834f514db/go.mod h1:j/pmGrbnkbPtQfxEe5D0VQhZC6qKbfKifgD0oM7sR70=
|
|
66
|
+
golang.org/x/image v0.32.0 h1:6lZQWq75h7L5IWNk0r+SCpUJ6tUVd3v4ZHnbRKLkUDQ=
|
|
67
|
+
golang.org/x/image v0.32.0/go.mod h1:/R37rrQmKXtO6tYXAjtDLwQgFLHmhW+V6ayXlxzP2Pc=
|
|
68
|
+
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
|
|
69
|
+
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
|
|
70
70
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
71
71
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
72
72
|
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
73
|
-
golang.org/x/sys v0.
|
|
74
|
-
golang.org/x/sys v0.
|
|
75
|
-
golang.org/x/text v0.
|
|
76
|
-
golang.org/x/text v0.
|
|
73
|
+
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
|
|
74
|
+
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
|
75
|
+
golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k=
|
|
76
|
+
golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM=
|
|
77
77
|
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
|
|
78
78
|
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
|
79
79
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
|
@@ -2,6 +2,7 @@ package session
|
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
4
|
"context"
|
|
5
|
+
"errors"
|
|
5
6
|
"fmt"
|
|
6
7
|
|
|
7
8
|
"go.mau.fi/libsignal/cipher"
|
|
@@ -253,12 +254,16 @@ func (d *Cipher) DecryptWithRecord(ctx context.Context, sessionRecord *record.Se
|
|
|
253
254
|
|
|
254
255
|
// If we received an error using the current session state, loop
|
|
255
256
|
// through all previous states.
|
|
256
|
-
if err
|
|
257
|
+
if errors.Is(err, signalerror.ErrOldCounter) {
|
|
258
|
+
return nil, nil, err
|
|
259
|
+
} else if err != nil {
|
|
257
260
|
logger.Warning(err)
|
|
258
261
|
for i, state := range previousStates {
|
|
259
262
|
// Try decrypting the message with previous states
|
|
260
263
|
plaintext, messageKeys, err = d.DecryptWithState(ctx, state, ciphertext)
|
|
261
|
-
if err
|
|
264
|
+
if errors.Is(err, signalerror.ErrOldCounter) {
|
|
265
|
+
return nil, nil, err
|
|
266
|
+
} else if err != nil {
|
|
262
267
|
continue
|
|
263
268
|
}
|
|
264
269
|
|
|
@@ -114,5 +114,6 @@
|
|
|
114
114
|
// whole file is limited to that dialect.
|
|
115
115
|
//
|
|
116
116
|
// If the filter ends with `(lines commented)`, then ALL lines chosen
|
|
117
|
-
// by the filter will be uncommented.
|
|
117
|
+
// by the filter will be uncommented. The `--` comment prefix must be
|
|
118
|
+
// at the beginning of the line with no whitespace ahead of it.
|
|
118
119
|
package dbutil
|
|
@@ -173,6 +173,9 @@ func (db *Database) filterSQLUpgrade(lines [][]byte) (string, error) {
|
|
|
173
173
|
}
|
|
174
174
|
if dialect == db.Dialect {
|
|
175
175
|
if uncomment {
|
|
176
|
+
if !bytes.HasPrefix(lines[i], []byte("--")) {
|
|
177
|
+
return "", fmt.Errorf("line %d isn't commented even though the dialect filter claimed it is (-- must be at beginning of line)", i+1)
|
|
178
|
+
}
|
|
176
179
|
output = append(output, bytes.TrimPrefix(lines[i], []byte("--")))
|
|
177
180
|
} else {
|
|
178
181
|
output = append(output, lines[i])
|
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
package exsync
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import (
|
|
10
|
+
"iter"
|
|
11
|
+
"maps"
|
|
12
|
+
"sync"
|
|
13
|
+
)
|
|
10
14
|
|
|
11
15
|
// Map is a simple map with a built-in mutex.
|
|
12
16
|
type Map[Key comparable, Value any] struct {
|
|
@@ -15,8 +19,13 @@ type Map[Key comparable, Value any] struct {
|
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
func NewMap[Key comparable, Value any]() *Map[Key, Value] {
|
|
22
|
+
return NewMapWithData(make(map[Key]Value))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// NewMapWithData constructs a Map with the given map as data. Accessing the map directly after passing it here is not safe.
|
|
26
|
+
func NewMapWithData[Key comparable, Value any](data map[Key]Value) *Map[Key, Value] {
|
|
18
27
|
return &Map[Key, Value]{
|
|
19
|
-
data:
|
|
28
|
+
data: data,
|
|
20
29
|
}
|
|
21
30
|
}
|
|
22
31
|
|
|
@@ -77,18 +86,50 @@ func (sm *Map[Key, Value]) GetOrSet(key Key, value Value) (actual Value, wasGet
|
|
|
77
86
|
return
|
|
78
87
|
}
|
|
79
88
|
|
|
89
|
+
// Clear removes all items from the map.
|
|
90
|
+
func (sm *Map[Key, Value]) Clear() {
|
|
91
|
+
sm.lock.Lock()
|
|
92
|
+
clear(sm.data)
|
|
93
|
+
sm.lock.Unlock()
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Len returns the number of items in the map.
|
|
97
|
+
func (sm *Map[Key, Value]) Len() int {
|
|
98
|
+
sm.lock.RLock()
|
|
99
|
+
l := len(sm.data)
|
|
100
|
+
sm.lock.RUnlock()
|
|
101
|
+
return l
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// CopyFrom copies all key/value pairs from the given map into this map, overriding any existing keys.
|
|
105
|
+
// Keys present in this map but not in the given map are not removed.
|
|
106
|
+
func (sm *Map[Key, Value]) CopyFrom(other map[Key]Value) {
|
|
107
|
+
sm.lock.Lock()
|
|
108
|
+
maps.Copy(sm.data, other)
|
|
109
|
+
sm.lock.Unlock()
|
|
110
|
+
}
|
|
111
|
+
|
|
80
112
|
// Clone returns a copy of the map.
|
|
81
113
|
func (sm *Map[Key, Value]) Clone() *Map[Key, Value] {
|
|
82
|
-
return
|
|
114
|
+
return NewMapWithData(sm.CopyData())
|
|
83
115
|
}
|
|
84
116
|
|
|
85
117
|
// CopyData returns a copy of the data in the map as a normal (non-atomic) map.
|
|
86
118
|
func (sm *Map[Key, Value]) CopyData() map[Key]Value {
|
|
87
119
|
sm.lock.RLock()
|
|
88
|
-
copied :=
|
|
89
|
-
for key, value := range sm.data {
|
|
90
|
-
copied[key] = value
|
|
91
|
-
}
|
|
120
|
+
copied := maps.Clone(sm.data)
|
|
92
121
|
sm.lock.RUnlock()
|
|
93
122
|
return copied
|
|
94
123
|
}
|
|
124
|
+
|
|
125
|
+
func (sm *Map[Key, Value]) Iter() iter.Seq2[Key, Value] {
|
|
126
|
+
return func(yield func(Key, Value) bool) {
|
|
127
|
+
sm.lock.RLock()
|
|
128
|
+
defer sm.lock.RUnlock()
|
|
129
|
+
for k, v := range sm.data {
|
|
130
|
+
if !yield(k, v) {
|
|
131
|
+
return
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
package exsync
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
|
+
"iter"
|
|
10
11
|
"sync"
|
|
11
12
|
)
|
|
12
13
|
|
|
@@ -134,3 +135,15 @@ func (s *Set[T]) AsList() []T {
|
|
|
134
135
|
s.l.RUnlock()
|
|
135
136
|
return list
|
|
136
137
|
}
|
|
138
|
+
|
|
139
|
+
func (s *Set[T]) Iter() iter.Seq[T] {
|
|
140
|
+
return func(yield func(T) bool) {
|
|
141
|
+
s.l.RLock()
|
|
142
|
+
defer s.l.RUnlock()
|
|
143
|
+
for item := range s.m {
|
|
144
|
+
if !yield(item) {
|
|
145
|
+
return
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|