appium-webdriveragent 10.5.1 → 10.5.3

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [10.5.3](https://github.com/appium/WebDriverAgent/compare/v10.5.2...v10.5.3) (2025-12-19)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * **ci:** Fix collection of release artifacts ([#1094](https://github.com/appium/WebDriverAgent/issues/1094)) ([d1bf689](https://github.com/appium/WebDriverAgent/commit/d1bf689d390c399d6f80c6a2e786e14f73157f93))
6
+
7
+ ## [10.5.2](https://github.com/appium/WebDriverAgent/compare/v10.5.1...v10.5.2) (2025-12-18)
8
+
9
+ ### Bug Fixes
10
+
11
+ * Address possible NULL binding compiler warning ([#1091](https://github.com/appium/WebDriverAgent/issues/1091)) ([263e646](https://github.com/appium/WebDriverAgent/commit/263e646dcbfe95a16c30821f2f8fe1cf7e1a0cce))
12
+
1
13
  ## [10.5.1](https://github.com/appium/WebDriverAgent/compare/v10.5.0...v10.5.1) (2025-12-18)
2
14
 
3
15
  ### Miscellaneous Chores
@@ -15,11 +15,11 @@
15
15
  <key>CFBundlePackageType</key>
16
16
  <string>FMWK</string>
17
17
  <key>CFBundleShortVersionString</key>
18
- <string>10.5.1</string>
18
+ <string>10.5.3</string>
19
19
  <key>CFBundleSignature</key>
20
20
  <string>????</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>10.5.1</string>
22
+ <string>10.5.3</string>
23
23
  <key>NSPrincipalClass</key>
24
24
  <string/>
25
25
  </dict>
@@ -2883,7 +2883,7 @@ enum GCDAsyncUdpSocketConfig
2883
2883
 
2884
2884
  // Create the socket(s) if needed
2885
2885
 
2886
- if ((self->flags & kDidCreateSockets) == 0)
2886
+ if ((self->flags & kDidCreateSockets) == 0)
2887
2887
  {
2888
2888
  if (![self createSocket4:useIPv4 socket6:useIPv6 error:&err])
2889
2889
  {
@@ -2897,7 +2897,7 @@ enum GCDAsyncUdpSocketConfig
2897
2897
 
2898
2898
  if (useIPv4)
2899
2899
  {
2900
- int status = bind(self->socket4FD, (const struct sockaddr *)[interface4 bytes], (socklen_t)[interface4 length]);
2900
+ int status = bind(self->socket4FD, (const struct sockaddr *)[interface4 bytes], (socklen_t)[interface4 length]);
2901
2901
  if (status == -1)
2902
2902
  {
2903
2903
  [self closeSockets];
@@ -2911,7 +2911,7 @@ enum GCDAsyncUdpSocketConfig
2911
2911
 
2912
2912
  if (useIPv6)
2913
2913
  {
2914
- int status = bind(self->socket6FD, (const struct sockaddr *)[interface6 bytes], (socklen_t)[interface6 length]);
2914
+ int status = bind(self->socket6FD, (const struct sockaddr *)[interface6 bytes], (socklen_t)[interface6 length]);
2915
2915
  if (status == -1)
2916
2916
  {
2917
2917
  [self closeSockets];
@@ -2925,10 +2925,10 @@ enum GCDAsyncUdpSocketConfig
2925
2925
 
2926
2926
  // Update flags
2927
2927
 
2928
- self->flags |= kDidBind;
2928
+ self->flags |= kDidBind;
2929
2929
 
2930
- if (!useIPv4) self->flags |= kIPv4Deactivated;
2931
- if (!useIPv6) self->flags |= kIPv6Deactivated;
2930
+ if (!useIPv4) self->flags |= kIPv4Deactivated;
2931
+ if (!useIPv6) self->flags |= kIPv6Deactivated;
2932
2932
 
2933
2933
  result = YES;
2934
2934
 
@@ -3003,7 +3003,7 @@ enum GCDAsyncUdpSocketConfig
3003
3003
 
3004
3004
  // Create the socket(s) if needed
3005
3005
 
3006
- if ((self->flags & kDidCreateSockets) == 0)
3006
+ if ((self->flags & kDidCreateSockets) == 0)
3007
3007
  {
3008
3008
  if (![self createSocket4:useIPv4 socket6:useIPv6 error:&err])
3009
3009
  {
@@ -3013,30 +3013,28 @@ enum GCDAsyncUdpSocketConfig
3013
3013
 
3014
3014
  // Bind the socket(s)
3015
3015
 
3016
- if (useIPv4)
3016
+ if (useIPv4 || useIPv6)
3017
3017
  {
3018
+ NSData *addressData = useIPv4 ? localAddr4 : localAddr6;
3019
+ int socketFD = useIPv4 ? self->socket4FD : self->socket6FD;
3020
+ NSString *protocol = useIPv4 ? @"IPv4" : @"IPv6";
3021
+
3018
3022
  LogVerbose(@"Binding socket to address(%@:%hu)",
3019
- [[self class] hostFromAddress:localAddr4],
3020
- [[self class] portFromAddress:localAddr4]);
3023
+ [[self class] hostFromAddress:addressData],
3024
+ [[self class] portFromAddress:addressData]);
3021
3025
 
3022
- int status = bind(self->socket4FD, (const struct sockaddr *)[localAddr4 bytes], (socklen_t)[localAddr4 length]);
3023
- if (status == -1)
3026
+ const struct sockaddr *addr = (const struct sockaddr *)[addressData bytes];
3027
+ if (addr == NULL)
3024
3028
  {
3025
3029
  [self closeSockets];
3026
3030
 
3027
- NSString *reason = @"Error in bind() function";
3028
- err = [self errnoErrorWithReason:reason];
3031
+ NSString *reason = [NSString stringWithFormat:@"Invalid address data for %@ bind", protocol];
3032
+ err = [self badParamError:reason];
3029
3033
 
3030
3034
  return_from_block;
3031
3035
  }
3032
- }
3033
- else
3034
- {
3035
- LogVerbose(@"Binding socket to address(%@:%hu)",
3036
- [[self class] hostFromAddress:localAddr6],
3037
- [[self class] portFromAddress:localAddr6]);
3038
3036
 
3039
- int status = bind(self->socket6FD, (const struct sockaddr *)[localAddr6 bytes], (socklen_t)[localAddr6 length]);
3037
+ int status = bind(socketFD, addr, (socklen_t)[addressData length]);
3040
3038
  if (status == -1)
3041
3039
  {
3042
3040
  [self closeSockets];
@@ -3050,10 +3048,10 @@ enum GCDAsyncUdpSocketConfig
3050
3048
 
3051
3049
  // Update flags
3052
3050
 
3053
- self->flags |= kDidBind;
3051
+ self->flags |= kDidBind;
3054
3052
 
3055
- if (!useIPv4) self->flags |= kIPv4Deactivated;
3056
- if (!useIPv6) self->flags |= kIPv6Deactivated;
3053
+ if (!useIPv4) self->flags |= kIPv4Deactivated;
3054
+ if (!useIPv6) self->flags |= kIPv6Deactivated;
3057
3055
 
3058
3056
  result = YES;
3059
3057
 
@@ -3140,7 +3138,7 @@ enum GCDAsyncUdpSocketConfig
3140
3138
 
3141
3139
  // Create the socket(s) if needed
3142
3140
 
3143
- if ((self->flags & kDidCreateSockets) == 0)
3141
+ if ((self->flags & kDidCreateSockets) == 0)
3144
3142
  {
3145
3143
  if (![self createSockets:&err])
3146
3144
  {
@@ -3173,9 +3171,9 @@ enum GCDAsyncUdpSocketConfig
3173
3171
 
3174
3172
  // Updates flags, add connect packet to send queue, and pump send queue
3175
3173
 
3176
- self->flags |= kConnecting;
3174
+ self->flags |= kConnecting;
3177
3175
 
3178
- [self->sendQueue addObject:packet];
3176
+ [self->sendQueue addObject:packet];
3179
3177
  [self maybeDequeueSend];
3180
3178
 
3181
3179
  result = YES;
@@ -3221,7 +3219,7 @@ enum GCDAsyncUdpSocketConfig
3221
3219
 
3222
3220
  // Create the socket(s) if needed
3223
3221
 
3224
- if ((self->flags & kDidCreateSockets) == 0)
3222
+ if ((self->flags & kDidCreateSockets) == 0)
3225
3223
  {
3226
3224
  if (![self createSockets:&err])
3227
3225
  {
@@ -3240,9 +3238,9 @@ enum GCDAsyncUdpSocketConfig
3240
3238
 
3241
3239
  // Updates flags, add connect packet to send queue, and pump send queue
3242
3240
 
3243
- self->flags |= kConnecting;
3241
+ self->flags |= kConnecting;
3244
3242
 
3245
- [self->sendQueue addObject:packet];
3243
+ [self->sendQueue addObject:packet];
3246
3244
  [self maybeDequeueSend];
3247
3245
 
3248
3246
  result = YES;
@@ -3473,7 +3471,7 @@ enum GCDAsyncUdpSocketConfig
3473
3471
 
3474
3472
  // Perform join
3475
3473
 
3476
- if ((self->socket4FD != SOCKET_NULL) && groupAddr4 && interfaceAddr4)
3474
+ if ((self->socket4FD != SOCKET_NULL) && groupAddr4 && interfaceAddr4)
3477
3475
  {
3478
3476
  const struct sockaddr_in *nativeGroup = (const struct sockaddr_in *)[groupAddr4 bytes];
3479
3477
  const struct sockaddr_in *nativeIface = (const struct sockaddr_in *)[interfaceAddr4 bytes];
@@ -3495,7 +3493,7 @@ enum GCDAsyncUdpSocketConfig
3495
3493
 
3496
3494
  result = YES;
3497
3495
  }
3498
- else if ((self->socket6FD != SOCKET_NULL) && groupAddr6 && interfaceAddr6)
3496
+ else if ((self->socket6FD != SOCKET_NULL) && groupAddr6 && interfaceAddr6)
3499
3497
  {
3500
3498
  const struct sockaddr_in6 *nativeGroup = (const struct sockaddr_in6 *)[groupAddr6 bytes];
3501
3499
 
@@ -3549,7 +3547,7 @@ enum GCDAsyncUdpSocketConfig
3549
3547
  return_from_block;
3550
3548
  }
3551
3549
 
3552
- if ((self->flags & kDidCreateSockets) == 0)
3550
+ if ((self->flags & kDidCreateSockets) == 0)
3553
3551
  {
3554
3552
  if (![self createSockets:&err])
3555
3553
  {
@@ -3582,7 +3580,7 @@ enum GCDAsyncUdpSocketConfig
3582
3580
  }
3583
3581
  }
3584
3582
 
3585
- }};
3583
+ }};
3586
3584
 
3587
3585
  if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))
3588
3586
  block();
@@ -3637,9 +3635,9 @@ enum GCDAsyncUdpSocketConfig
3637
3635
  return_from_block;
3638
3636
  }
3639
3637
  result = YES;
3640
- }
3638
+ }
3641
3639
 
3642
- }};
3640
+ }};
3643
3641
 
3644
3642
  if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))
3645
3643
  block();
@@ -3668,7 +3666,7 @@ enum GCDAsyncUdpSocketConfig
3668
3666
  return_from_block;
3669
3667
  }
3670
3668
 
3671
- if ((self->flags & kDidCreateSockets) == 0)
3669
+ if ((self->flags & kDidCreateSockets) == 0)
3672
3670
  {
3673
3671
  if (![self createSockets:&err])
3674
3672
  {
@@ -3677,9 +3675,9 @@ enum GCDAsyncUdpSocketConfig
3677
3675
  }
3678
3676
 
3679
3677
  int value = flag ? 1 : 0;
3680
- if (self->socket4FD != SOCKET_NULL)
3678
+ if (self->socket4FD != SOCKET_NULL)
3681
3679
  {
3682
- int error = setsockopt(self->socket4FD, SOL_SOCKET, SO_REUSEPORT, (const void *)&value, sizeof(value));
3680
+ int error = setsockopt(self->socket4FD, SOL_SOCKET, SO_REUSEPORT, (const void *)&value, sizeof(value));
3683
3681
 
3684
3682
  if (error)
3685
3683
  {
@@ -3690,9 +3688,9 @@ enum GCDAsyncUdpSocketConfig
3690
3688
  result = YES;
3691
3689
  }
3692
3690
 
3693
- if (self->socket6FD != SOCKET_NULL)
3691
+ if (self->socket6FD != SOCKET_NULL)
3694
3692
  {
3695
- int error = setsockopt(self->socket6FD, SOL_SOCKET, SO_REUSEPORT, (const void *)&value, sizeof(value));
3693
+ int error = setsockopt(self->socket6FD, SOL_SOCKET, SO_REUSEPORT, (const void *)&value, sizeof(value));
3696
3694
 
3697
3695
  if (error)
3698
3696
  {
@@ -3732,7 +3730,7 @@ enum GCDAsyncUdpSocketConfig
3732
3730
  return_from_block;
3733
3731
  }
3734
3732
 
3735
- if ((self->flags & kDidCreateSockets) == 0)
3733
+ if ((self->flags & kDidCreateSockets) == 0)
3736
3734
  {
3737
3735
  if (![self createSockets:&err])
3738
3736
  {
@@ -3740,10 +3738,10 @@ enum GCDAsyncUdpSocketConfig
3740
3738
  }
3741
3739
  }
3742
3740
 
3743
- if (self->socket4FD != SOCKET_NULL)
3741
+ if (self->socket4FD != SOCKET_NULL)
3744
3742
  {
3745
3743
  int value = flag ? 1 : 0;
3746
- int error = setsockopt(self->socket4FD, SOL_SOCKET, SO_BROADCAST, (const void *)&value, sizeof(value));
3744
+ int error = setsockopt(self->socket4FD, SOL_SOCKET, SO_BROADCAST, (const void *)&value, sizeof(value));
3747
3745
 
3748
3746
  if (error)
3749
3747
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "10.5.1",
3
+ "version": "10.5.3",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",